点击上方蓝字关注我们
微信公众号:OpenCV学堂
关注获取更多计算机视觉与深度学习知识
用OpenCV模仿Halcon卡尺功能,实现了一个直线寻边卡尺!蓝色的点就是寻边得到的结果,主要步骤分为:
1. 根据输入线段与其它参数 获取等分点 2. 获取等分点的垂直于线段的矩形ROI 3. 旋转至水平 4. 直接高斯模糊,然后计算X方向投影,计算每一列的像素均值 5. 计算一阶导数(梯度),找到最大梯度(正/负)对应点坐标 6. 最大梯度坐标反向旋转回去,得到蓝色点就是最终寻边得到 7. 拟合成直线或者线段,输出即可!
============================= 看我做的效果如何,还行吗?圆的寻边卡尺原理与步骤类似~~~~
QT5集成工作流引擎
https://appetjpz4tj8166.h5.xiaoeknow.com/p/course/ecourse/course_2XtK2sEi7HNUwt2WscP6tFwxpIb
std::shared_ptr
engine(new QTongCoreCVWorkFlow()); bool succ = engine->initWorkFlow("D:/qtong_caliper.vm", "38735ef8da3a49d5d17d882462bf515b");
if (!succ) {
std::cout << "Could not load workflow file here..." << std::endl;
return;
}
QString fileName("OpenCV学堂");
cv::Mat frame = cv::imread(this->image_data_path->text().toStdString());
cv::Vec4i line;
canvas->get_line(line);
cv::Mat result;
std::vector<std::string> logs;
engine->run_measure(frame, result, line);
推荐阅读
OpenCV4.8+YOLOv8对象检测C++推理演示
ZXING+OpenCV打造开源条码检测应用
攻略 | 学习深度学习只需要三个月的好方法
三行代码实现 TensorRT8.6 C++ 深度学习模型部署
实战 | YOLOv8+OpenCV 实现DM码定位检测与解析
对象检测边界框损失 – 从IOU到ProbIOU
初学者必看 | 学习深度学习的五个误区