Ank*_*wal 6 java android opencv image-processing feature-detection
我想检测android中文档的4个角。Iam使用opencv库。
Iam使用以下方法-(1)对图像进行灰度处理(2)应用中值模糊(3)应用自适应阈值(4)Canny边缘检测(5)找到轮廓(6)找到最大轮廓(7)获取边缘和角落最大轮廓
我的代码是
srcImg = Utils.loadResource(this, R.drawable.test1, Highgui.CV_LOAD_IMAGE_COLOR);
Imgproc.cvtColor(srcImg, srcImg, Imgproc.COLOR_BGR2GRAY);
Imgproc.medianBlur(srcImg, srcImg, 9);
Imgproc.adaptiveThreshold(srcImg, srcImg, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY_INV, 11, 2);
Imgproc.Canny(srcImg, srcImg, 50, 80);
Imgproc.findContours(srcImg,contours , hierarchy, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE);
Run Code Online (Sandbox Code Playgroud)
在进行精巧边缘检测后,由于许多点的轮廓边界被打破,因此图像中检测到的最大轮廓不是文档的实际边界。在某些图像中,最大轮廓线显示了边界的某些部分,但在某些图像中,轮廓线指向文档的中心或完全在文档外部
(A)在这种情况下我该如何继续?
我采用的另一种方法是应用houghs线变换并计算以90度角相交的线的交点,但在这种情况下无法获得精确点。当我放88
(B)如何处理那么多积分
(C)还是我需要遵循完全不同的方法?