Sam*_*Tew 6 opencv computer-vision
我想在图像中检测信用卡大小的卡片。该卡可以是任何卡,例如身份证、会员卡。目前,我正在考虑使用 Canny Edge、Hough Line 和 Hough Circle 来检测卡。但当我想结合霍夫线和霍夫圆的所有信息来定位卡片时,这个过程会很繁琐。有人建议使用threshold和findContour,但卡片的颜色可能与背景相似,这使得这种方法很难达到预期的结果。有没有任何内核和方法可以帮助我检测卡?
我认为,您的问题与文档扫描仪类似。你可以参考这个链接
使用 Canny 边缘检测器查找图像中的边缘(下限和上限阈值可设置为 0.66*meanIntensity 和 1.33*meanIntensity)并进行形态学闭合操作。
使用 findContours 查找图像中的轮廓
过滤掉不需要的轮廓(我使用contourArea来过滤轮廓)
使用 approxPolyDP 将轮廓近似为 7 个或更多点。(我这里使用0.005 *周长作为参数)
如果你想找到准确的边缘,请在点之间拟合直线并获得 4 条最大的线。找到它们的交点(因为卡片可能包含也可能不包含弯曲边缘)
您最终将得到卡片端点,可进一步用于单应性或确定区域。
编辑 编辑了答案以包括获取卡片顶点的步骤并更新结果。
| 归档时间: |
|
| 查看次数: |
12990 次 |
| 最近记录: |