C++ 图像处理——尺标定法径向扫描拟合直线(附代码)

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.


请添加图片描述

请添加图片描述

请添加图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fire丶Chicken

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值