Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 标识图像的表格和表格单元格_Opencv_Image Processing - Fatal编程技术网

Opencv 标识图像的表格和表格单元格

Opencv 标识图像的表格和表格单元格,opencv,image-processing,Opencv,Image Processing,我试图从图像中显示的数据表中读取数据 图像示例: 高分辨率图像如下: 目前,我已经能够使用opencv(C++)从图像中检测并裁剪表格。为了以后执行OCR,我应该采取哪些步骤逐个裁剪表格的单元格 我建议您尝试不同的方法,例如: a) 裁剪完表格后,运行Canny边缘检测器来检测图像中的(定义良好的)线条。做一些类似于: Mat im = imread("zUwozvn.jpg"); //read your image Mat gr,edges; cvtColor(im,gr,CV_BGR2

我试图从图像中显示的数据表中读取数据

图像示例:

高分辨率图像如下:


目前,我已经能够使用opencv(C++)从图像中检测并裁剪表格。为了以后执行OCR,我应该采取哪些步骤逐个裁剪表格的单元格

我建议您尝试不同的方法,例如:

a) 裁剪完表格后,运行Canny边缘检测器来检测图像中的(定义良好的)线条。做一些类似于:

Mat im = imread("zUwozvn.jpg"); //read your image 
Mat gr,edges;
cvtColor(im,gr,CV_BGR2GRAY); // 
imshow("ori",gr);
Canny(gr,edges,50,100); // try different thresholds!
imshow("edges",edges);
waitKey();
这就是我得到的:

一旦检测到边缘,您可能需要计算边缘图像的垂直和水平投影(即每行和每列中的像素总和),以检测表格单元格

b) 与基于边缘检测的方法不同,请尝试现有的文本检测算法,如OpenCV 3.0.0()中实现的算法


希望能有帮助

谢谢你的回复。我会尽快尝试。你能在你的回答中提供最新的URL吗?我现在已经接受它作为答案。非常感谢。