如何检测物体的外框

how to detect the outer frame of an object

我正在使用 OpenCV4Android 版本 3.1.0,我希望 Android 相机能够检测到卡片,例如:信用卡、客户卡等。要实现这样的功能使用 OpenCV 我尝试使用边缘检测功能来完成它,但是 如下图所示,Edge-Detection 会检测框架中的所有边缘,而我要查找的是仅检测卡片的外框。

我也尝试了对象检测"contour-detection"功能,如下图所示,它没有检测到卡的外框。

请让我知道我应该使用什么最佳解决方案或函数来检测任何给定卡的外框

边缘检测

形状"contour"检测

边缘检测找到的边缘数与您设置的(或默认设置的)阈值有关。尝试使用这些阈值进行操作,看看是否能获得更好的结果。您也可以尝试梯度函数,在这里您将获得边缘的 "strength" 而不是边缘的二进制 "presence"。这会告诉你,并不是所有的边都是平等的。