哈勃!上次我写了一个有关印刷电路板X射线检查项目。现在我们已经取得了很大的进步,该软件的工作原型加上Elbrus中的“用棍子戳”。我想告诉你这种经历。
介绍
在项目开始时,我们设法找到了额外的资金,主要条件是完整的跨平台软件,包括对家用处理器的支持。当时,台式机最有生产力的选择是Elbrus 8C(虽然仍然存在,但8CB尚未出现)。我们直接从MCST购买了两个Elbrus 801-RS站。现在,他们的费用已在网站上显示出来,一年前价格要贵一些。
, – . NDA, ( ). , – . . / , .
2020 – : (, ). Linux. , – . .
– , Fly , . , , .
– USB , . - .
. 4.0, 5.0rc2 – , «» . VLIW . .
UPD: 6.0. C++20 Linux, — .
++, 14- , CUDA Vulkan , OpenGL AMD . – OpenGL 3.1, QT 5.11.
– - . , «» , . .
, (titovmaxim, Unicore Solutions)
– . – . . TLDR: .
– . Ethernet 1 , GigE Vision. , ( Aravis) , .
, , 1 , . , . . , , . .
OpenGL, .. , . , , , , , . OpenGL, CUDA, .
3000x3000 16 (AMD R5) ~33 . , -. , . , x86 GeForce RTX 2070 Max-Q ~2, .
– RS232, Web UVC, .
Qt 5.11 QML . . , "-", . , , 5.11 «» .
, C++ 14. C++ QML , c Flow.
Flow
— , boilerplate . ++, , , , . , , OpenGL, « ». ( update) / , ( ), Qt. – subscribe/unsubscribe , , :) ReactiveX, , .
- ( C++ ), QMetaObject. , QML (, WPF C#), , QML QVector diff’ ( QAbstractItemModel), / .
C++ 17. C++ 14 , , . , . , GCC MSVC. auto . this . , . , ;)
. . , . , . , -fnon-call-exceptions .
, "" Linux x86 . .
OpenCV
, «» - OpenCV 3.2. , “” – . . OpenCV 8 (1300 ) Intel core i7 (2600 ) / openCV:
, | 5.0rc2/ -8/ OpenCV 3.2 | 8.1/ -8/ OpenCV 3.2 | 1.6/ Intel Core i7 7700/ OpenCV 3.2 | Windows 10/ Intel Core i7 9750H/ OpenCV 3.2 | Windows 10/ Intel Core i7 9750H/ OpenCV 4.4 | |
---|---|---|---|---|---|---|
5x5, 3000x3000, 16S | 35 | 334 | 99,7 | 94 | 105,9 | |
5x5, 3000x3000, 16U | 244 | 280 | - | 98 | 106,5 | |
5x5, 3000x3000, 32F | 32 | 271 | 23,9 | 24 | 11,4 | |
5x5, 3000x3000, 16S | 15,3 | 257 | 36,3 | 35 | 5,7 | |
5x5, 3000x3000, 16U | 184 | 251 | - | 12,5 | 40 | |
5x5, 3000x3000, 32F | 14,5 | 222 | 8,1 | 7,7 | 6,2 |
OpenCV EML (. , VLIW ). EML . , . – .
– , 2 (16S) i7, 2 (32F). OpenCV 20 . , 16U .
. (, ) , , . .
– , - .
, . .