繁体   English   中英

使用opencv java检测图像中文档的边界

[英]Detect boundaries of a document in an image using opencv java

我想在android中检测文档的4个角。 我使用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);

在精确边缘检测之后,许多点处的轮廓边界被破坏,由此在图像中检测到的最大轮廓不是文档的实际边界。 在某些图像中,最大轮廓显示边界的某些部分,但在某些图像中,它指向文档的中心或完全位于文档外部

(A)如何在这种情况下继续前进?

我应用的另一种方法是应用houghes线变换并计算以90度角相交的线的交点,但在这种情况下没有获得精确点。 当我把88

(B)如何处理那么多分

(C)还是我需要遵循完全不同的方法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM