android - 如何检测物体的外框

标签 android opencv edge-detection object-detection opencv4android

我正在使用 OpenCV4Android 版本 3.1.0,我希望 Android 摄像头能够检测到卡片,例如:信用卡、客户卡等。为了使用 OpenCV 实现此类功能,我尝试使用边缘检测来实现函数,但是 如下图所示,Edge-Detection 检测框架中的所有边缘,而我正在寻找的是仅检测卡片的外框。

我也尝试了 Object-Detection 的“轮廓检测”功能,如下图所示,它没有检测到卡片的外框。

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

边缘检测: enter image description here

形状“轮廓”检测: enter image description here

最佳答案

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

关于android - 如何检测物体的外框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39992494/

相关文章:

android - 为什么没有相机结果?

OpenCV Haartraining 不会永远完成

ios - 如何在 iOS Swift 中导入 opencv2 框架

c++ - 视频帧上的 cvResize

matlab - 如何找到图像中边缘的法线

image-processing - 如何在 javacv/opencv 中进行精明的边缘检测?

Android 总是抛出 ClassCastException

android - 使用 FCM 注册应用程序后,当应用程序处于前台或后台时,通知不会发送到设备

javascript - 边缘检测和去除

security - 如何授予系统权限