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

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

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

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

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

(B)如何处理这么多点数

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


检查links.hope它有帮助。
用于检测照片中纸张角落的算法

http://opencv-code.com/tutorials/automatic-perspective-correction-for-quadrilateral-objects/

链接地址: http://www.djcxy.com/p/79661.html

上一篇: Detect boundaries of a document in an image using opencv java

下一篇: Is it possible to find the edge of a "spotty" region in emgucv?