本文主要是介绍python + opencv2 实现对图片的裁剪,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
近期项目需要需要对图片的中的文字进行识别,开始的想法是使用开源的Tesseract-OCR进行识别
这个对单纯的白底黑字的印书体是没有问题的,但是对于一些比较复杂的图片(非纯粹的字母)就
有点儿为难了,由于这块位置比较固定,所以考虑先把这块带有文字的位置裁剪出来,再进行识
别,果然效果显著。
话不多说,直接上代码
import cv2 as cvdef main():# 读取需要识别的数字字母图片,并显示读到的原图img = cv.imread("../aaa.png")print(img.shape) #这里会返回三个值 (673,1084,3)图片的高,图片的宽,色彩通道cropped = img[52:140, 700:980] # 裁剪坐标为[y0:y1, x0:x1]imagename = ''cv.imwrite("../abcc.png", cropped)src = cv.imread("../abcc.png")cv.waitKey(0)cv.destroyAllWindows()if __name__ == "__main__":main()
需要注意的是
cropped = img[52:140, 700:980] # 裁剪坐标为[y0:y1, x0:x1]
这里的值一定要看清楚了,否则就会报错,超出区域,前边是是设置两个y坐标,后边是设置两个x坐标
好了就到这里,下一篇为大家分享如何用裁剪出来的图片进行文字提取
这篇关于python + opencv2 实现对图片的裁剪的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!