做真正的OpenCV开发者,从入门到入职,一步到位!
概述
基于OpenCV工作流引擎SDK + Qt5 + 海康工业相机实现了从图像采集到OpenCV工作流运行的完整流程。其中工业相机采图是一个单独线程、工作流引擎OpenCV算法执行也是一个线程,两个线程之间实现数据传输与交互。
基本工作流程如下:

界面设计与实现基于QT的工业相机采图界面如下:
OpenCV实验大师工具软件,设计工作流如下:

保存设计文件以后,导出到QT5+OpenCV4 + YOLO11集成应用开发。
运行演示与效果


OpenCV工作流引擎SDK加载与执行工作流代码实现如下:
cpp
std::shared_ptr<QTongCoreCVWorkFlow> engine(new QTongCoreCVWorkFlow());
bool succ = engine->initWorkFlow("find_defect.vm", "your grant key");
if(!succ) {
std::cout<<"Could not load workflow file here..."<<std::endl;
return -1;
}
cv::Mat frame = cv::imread("4156.bmp");
cv::namedWindow("OpenCV实验大师 C++工作流引擎演示", cv::WINDOW_NORMAL);
cv::Mat result;
std::vector<std::string> logs;
engine->run_workflow(frame, result, logs);