C++中怎么利用OpenCV获取卡号

C++中怎么利用OpenCV获取卡号,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

用Canny边缘提取,转灰度图--高斯模糊--形态学闭操作--Canny边缘提取

C++中怎么利用OpenCV获取卡号

显示效果

C++中怎么利用OpenCV获取卡号

红框为处理后的结果


寻找轮廓,画出图中所有的轮廓来,我们看看

C++中怎么利用OpenCV获取卡号

C++中怎么利用OpenCV获取卡号

然后运行一下看看效果

C++中怎么利用OpenCV获取卡号

可以看到右图里面画出了所有的找到的轮廓,我们怎么定位用蓝色线的那个区域了,通过分析了一下,我们可以看到有几个特点:

  1. 区域的长度超过了卡号长度的一半

  2. 区域形成的矩形的旋转值很低,可以忽略


修改查找区域的设置,条件为矩形长度在图片长度的一半,旋转度小于3

C++中怎么利用OpenCV获取卡号

然后我们再重新运行一下看看

C++中怎么利用OpenCV获取卡号

可以看出,我们直接就定位到了要找的区域。


根据固定区域进行偏移截取

C++中怎么利用OpenCV获取卡号

看完上述内容,你们掌握C++中怎么利用OpenCV获取卡号的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!