Python3与OpenCV3.3 图像处理(补)--第十五节补充

 

在图片比较大的情况下,使用第十五节讲的方法,会出现处理速度慢和处理效果不佳的情况。对于超大图象二值化一般都会进行分块。超大图象一般会分块以后使用全局二值化,或者使用局部二值化。并且应使用自适应阈值,全局阈值会收到图象噪声的影响代码如下

 

 

import cv2 as cv
import numpy as np


def big_img_binary(img):
    # 定义分割块的大小
    cw = 256
    ch = 256
    h,w = img.shape[:2]
    # 将图片转化为灰度图片
    gray = cv.cvtColor(img,cv.COLOR_RGB2GRAY)
    for row in range(0,h,ch):
        for col in range(0,w,cw):
            roi = gray[row:row+ch,col:col+cw]
            dst = cv.adaptiveThreshold(roi,255,cv.ADAPTIVE_THRESH_GAUSSIAN_C,cv.THRESH_BINARY,127,20)
            gray[row:row+ch,col:col+cw]=dst
    cv.imwrite('rb.png',gray)




src=cv.imread('textImg.jpg')
big_img_binary(src)
cv.waitKey(0)
cv.destroyAllWindows()
觉得不错打赏一下
posted @ 2017-12-10 22:48  ProgramerCat  阅读(83)  评论(0编辑  收藏  举报