图像验证码识别(六)——图像中的直线检测

这里题目之所以没有写成“验证码图片中的干扰线去除”,就是因为在干扰线去除做的不是很好,最后也没有找到什么较为通用的算法能够有效地去除干扰线因素。不过也不算完全没有收获,这里就谈谈直线的检测。

OpenCV提供hough变换来检测直线,具体的API是

CvSeq* cvHoughLines2(
	CvArr* image,
	void* line_storage,
	int mehtod,
	double rho,
	double theta,
	int threshold,
	double param1 =0,
	double param2 =0
	);


image就是源图像,单通道图像,因此被检测的图像必须是灰度图,另外需要注意的是原图像在函数调用完成后 会改变,因此有必要在调用这个函数进行hough检测之间对原来的图像进行备份。

line_storage在这里是检测到的线段存储仓. 可以是内存存储仓 (此种情况下,一个线段序列在存储仓中被创建,并且由函数返回),或者是包含线段参数的特殊类型(见下面)的具有单行/单列的矩阵(CvMat*)。矩阵头为函数所修改,使得它的 cols/rows 将包含一组检测到的线段。如果 line_storage 是矩阵,而实际线段的数目超过矩阵尺寸,那么最大可能数目的线段被返回(线段没有按照长度、可信度或其它指标排序).

method表示变换的方法,OpenCV一共给出了3种变换方法,分别是:

CV_HOUGH_STANDARD - 传统或标准 Hough 变换. 每一个线段由两个浮点数 (ρ, θ) 表示

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值