本文主要是介绍openCV编程基础14--超大图像二值化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
功能:
对超大图进行二值化
import cv2 as cv
import numpy as np#超大图像二值化,采用分割加局部阈值的方法
#由于图像比较大cv.imshow显示不全,我们把图保存,用图像查看器来看
def big_image_binary(image):print(image.shape)cw = 256ch = 256h, 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):roi = gray[row:row + ch, col:cw + col]dst = cv.adaptiveThreshold(roi, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, cv.THRESH_BINARY, 189, 20)gray[row: row + ch, col: cw + col] = dstprint(np.std(dst), np.mean(dst))cv.imwrite("F:/result_binary.png", gray)src = cv.imread('F:001.jpeg')
#cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE)
#cv.imshow("0", src)
big_image_binary(src)
cv.waitKey(0)
cv.destroyAllWindows()
结果:
这篇关于openCV编程基础14--超大图像二值化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!