Android 如何检测对象的外部帧

Android 如何检测对象的外部帧,android,opencv,edge-detection,object-detection,opencv4android,Android,Opencv,Edge Detection,Object Detection,Opencv4android,我使用的是OpenCV4Android版本3.1.0,我希望Android摄像头能够检测到一张卡,例如:信用卡、客户卡等。为了使用OpenCV实现这些功能,我尝试使用边缘检测功能,但是 正如您在下图中看到的,边缘检测检测帧中的所有边缘,而我要查找的是仅检测卡的外部帧 我还尝试了物体检测“轮廓检测”功能,如下图所示,它没有检测到卡的外框 请让我知道什么是我应该使用的最佳解决方案或功能,以便能够检测任何给定卡的外部框架 边缘检测: 形状“轮廓”检测: 通过边缘检测找到的边缘数与您设置的阈值(或默认

我使用的是OpenCV4Android版本3.1.0,我希望Android摄像头能够检测到一张卡,例如:信用卡、客户卡等。为了使用OpenCV实现这些功能,我尝试使用边缘检测功能,但是 正如您在下图中看到的,边缘检测检测帧中的所有边缘,而我要查找的是仅检测卡的外部帧

我还尝试了物体检测“轮廓检测”功能,如下图所示,它没有检测到卡的外框

请让我知道什么是我应该使用的最佳解决方案或功能,以便能够检测任何给定卡的外部框架

边缘检测

形状“轮廓”检测

通过边缘检测找到的边缘数与您设置的阈值(或默认设置的阈值)有关。尝试使用这些阈值进行操作,以查看是否获得更好的结果。您也可以尝试使用梯度函数,在这里您将获得边的“强度”,而不仅仅是边的二进制“存在”。这将告诉你,并非所有的边缘都是相等的。

谢谢。你能告诉我如何使用你提到的canny边缘检测器的梯度函数吗?你可以使用例如Sobel函数,它计算图像导数。有关更多详细信息,请参阅或