C++ 图像处理——尺标定法径向扫描拟合直线(附代码)
C++ 图像处理——升级版卡尺标定法径向扫描拟合圆,附代码使用语言:C++/Opencv4.3处理图片:效果图片:总体的方法使用的卡尺的方法。参考的还是Halcon的算子方式。对于参数的设置,看下面:struct RT_LineAngleConfig{cv::Point rect_center;//ROI矩形中心cv::Size rect_size;//ROI矩形宽长int rect_angle;
C++ 图像处理——升级版卡尺标定法径向扫描拟合圆,附代码
使用语言:C++/Opencv4.3
处理图片:

效果图片:


总体的方法使用的卡尺的方法。参考的还是Halcon的算子方式。对于参数的设置,看下面:
struct RT_LineAngleConfig
{
cv::Point rect_center; //ROI矩形中心
cv::Size rect_size; //ROI矩形宽长
int rect_angle; //ROI矩形旋转角度
bool edge_direction = true; //边缘方向 False:由黑到白 true:由白到黑
int selection_of_edge = 0; //边缘点的选择方式 0:梯度最弱 1:第一个满足梯度阈值的点 2: 最大的梯度点 3:最后一个满足梯度阈值的点
int edge_threshold = 30; //边缘阈值:梯度值大于此阈值才能算边缘点
int step; //步长(卡尺数量)
};
可以通过这么些参数来设置,相当于设置一个ROI区域一样,来选择怎样去拟合直线。向上面的那个效果图,就是将设一个ROI区域的中心,然后将卡尺的头端和尾端设置到合适的长度就行了,至于边缘方向那些,我就是设置的第一个梯度点、从白到黑的梯度,步长是10。然后就是通过每一个卡尺找到的点来拟合直线。
大概示意图是这样的:

灰色的就是卡尺,相当于ROI。
好像蛮丑的。哈哈哈。
代码是原创,进行了封装,注释我也尽可能打全了,会提供.cpp和.h 文件,花了几天才敲出来,收个几块钱混口饭吃,希望大家多多包涵。(●’◡’●)
链接: https://download.csdn.net/download/qq_40374812/21015301.



魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)