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吗?我现在已经接受它作为答案。非常感谢。