第十二天 分块处理二值法及去雪花

import cv2 as cv
import numpy as np
def big_image_binary(image):
    print (image.shape)
    cw =56
    ch=56
    h,w = image.shape[:2]
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    for row in range(0,h,ch):
        for col in range(0,w,cw):
            rol =gray[row:row+ch,col:cw+col]
            #ret,dst=cv.threshold(rol,0,255, cv.THRESH_BINARY | cv.THRESH_OTSU)    #使用全局域值
            #gray[row:row + ch, col:cw + col] = dst
            dev = np.std(rol)               ##计算矩阵标准差
            if dev<15:                    ##方差<15  填充成255
                gray[row:row + ch, col:cw + col] = 255
            else:
                ret, dst = cv.threshold(rol, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
                gray[row:row + ch, col:cw + col] = dst

            #print(np.std(dst),np.mean(dst))
    cv.imshow("dst",gray)
    #cv.imwrite("D:/vcprojects/result_binary.png", gray)


src = cv.imread("C:/Users/weiqiangwen/Desktop/sest/lena.png")
# cv.namedWindow("input contours",cv.WINDOW_AUTOSIZE)
cv.imshow("contours", src)
big_image_binary(src)
cv.waitKey(0)

cv.destroyAllWindows()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值