opencv-之霍夫直线检测实验心得

这个是我自己在摸索过程中找到的一点心得,如果大家也出现了这样的问题,希望能帮到大家

g_can_out.copyTo(s_can);
cvtColor(g_can_out,s_gray,COLOR_BGR2GRAY);
threshold(s_gray,s_threshold,178,255,THRESH_BINARY);
vector<Vec4i>lines;
HoughLinesP(s_threshold,lines,1,CV_PI/180,100,50,20);
for(size_t i=0;i<lines.size();i++)
{
	Vec4i p=lines[i];
	line(g_can_out,Point(p[0],p[1]),Point(p[2],p[3]),Scalar(0,0,255),1,8);
}
imshow("zhixian",g_can_out);

上边是我工作的一部分内容,初次的时候我并不太怎么注意line函数里面g_can_out这个输出模板。我一开始认为随便找一个模板就行,哪怕是空的都行,但是事实是我错了,这个模板不应该乱用,必须用画直线所在的那个模板,也就是说你在那个模板上画直线,那么就填写那个模板,不然会出现这个问题
在这里插入图片描述这是我发现的我的第一个问题,第二个问题就是下边的这个图片上的内容
插入图片描述
如果在直线检测的过程中出现了这类问题,那么要做的就是在HoughLinesP(s_threshold,lines,1,CV_PI/180,100,50,20);
这个函数里对最后三个参数进行调整,要明白100,50,20 分别代表的什么意思,尽量多调几个值,不要用0,应该就能把出现的问题进行修正,希望能帮到大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值