如何根据内容裁剪图像(Python & OpenCV)?
How to crop image based on contents (Python & OpenCV)?
目前我正在做一个个人项目,它是从商店目录中获取的扫描图像中的产品标识。
正如您在图片中看到的,产品之间没有行分隔,因此使用 Hough lines
定位产品并不能真正解决问题![=14=]
使用Tesseract
提取图像内容真的很棒,我面临的唯一问题是自动找到图像产品,我的意思是不手动裁剪图像但我想检测产品,使用文本描述和价格裁剪它们,然后使用 OCR 提取内容。
我尝试了很多图像处理技术,但仍然一无所获(我正在使用 Python 和 OpenCV)。
提前致谢:)
您遇到的问题通常称为背景去除,或者前景提取。在这个例子中,它实际上可能相对容易,因为背景大部分是相同颜色的阴影 - 我的建议是查看此处描述的 GrabCut 算法:https://docs.opencv.org/3.4.3/d8/d83/tutorial_py_grabcut.html
目前我正在做一个个人项目,它是从商店目录中获取的扫描图像中的产品标识。
正如您在图片中看到的,产品之间没有行分隔,因此使用 Hough lines
定位产品并不能真正解决问题![=14=]
使用Tesseract
提取图像内容真的很棒,我面临的唯一问题是自动找到图像产品,我的意思是不手动裁剪图像但我想检测产品,使用文本描述和价格裁剪它们,然后使用 OCR 提取内容。
我尝试了很多图像处理技术,但仍然一无所获(我正在使用 Python 和 OpenCV)。 提前致谢:)
您遇到的问题通常称为背景去除,或者前景提取。在这个例子中,它实际上可能相对容易,因为背景大部分是相同颜色的阴影 - 我的建议是查看此处描述的 GrabCut 算法:https://docs.opencv.org/3.4.3/d8/d83/tutorial_py_grabcut.html