-1
我对图像处理非常陌生,尝试使用opencv和Python构建特定字体的OCR。将图像分解为字符图像
这样:
我已经写了一个小神经网络人物形象演绎到其相应的英文字符。有人可以帮助我将裁剪后的黑白图像进一步裁剪成只有人物的小图像吗?
我能想到的一种方式是逐像素移动,当黑像素出现时停止。有没有其他方法?
我对图像处理非常陌生,尝试使用opencv和Python构建特定字体的OCR。将图像分解为字符图像
这样:
我已经写了一个小神经网络人物形象演绎到其相应的英文字符。有人可以帮助我将裁剪后的黑白图像进一步裁剪成只有人物的小图像吗?
我能想到的一种方式是逐像素移动,当黑像素出现时停止。有没有其他方法?
我想你应该尝试cv::blobDetector
https://www.learnopencv.com/blob-detection-using-opencv-python-c/
,或只与CV_EXTERNAL
标志cv::findcountours
:
http://docs.opencv.org/3.1.0/df/d0d/tutorial_find_contours.html
既然你已经很明确的斑点(字母)我建议你[connectedComponents] (http://docs.opencv.org/3.1.0/d3/dc0/group__imgproc__shape.html#gac2718a64ade63475425558aa669a943a),这会为每个字母标上不同的数字(例如H将具有值1和I值2等等,不必按此顺序)。然后很容易为它们中的每一个创建一个蒙版,并为每个字母 – api55
查看相关图像:[图像的水平和垂直总和的解释](https://stackoverflow.com/a/39178204/2521214)和[检测倾斜字体中单词之间的空格(bar)](https://stackoverflow.com/a/31086741/2521214) – Spektre
@ api55如何将连接的组件应用于3D矢量?因为图像的形状是(x,y,z)。 – bazinga