python + opencv2 实现对图片的裁剪

近期项目需要需要对图片的中的文字进行识别,开始的想法是使用开源的Tesseract-OCR进行识别

这个对单纯的白底黑字的印书体是没有问题的,但是对于一些比较复杂的图片(非纯粹的字母)就

有点儿为难了,由于这块位置比较固定,所以考虑先把这块带有文字的位置裁剪出来,再进行识

别,果然效果显著。

话不多说,直接上代码

import cv2 as cv

def 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,python,opencv)