image格式转换:
# OpenCV图片转换为PIL image
def CVImageToPIL(image):
return Image.fromarray(cv.cvtColor(img, cv.COLOR_BGR2RGB))
def PILImageToCV(image):
return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
图片锐化处理
def custom_blur_demo(image):
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32) # 锐化
return cv.filter2D(image, -1, kernel=kernel)
转化为灰度图
image = Image.open('../OCR-TEST/number.png') # 打开图片
image1 = image.convert('L') # 转化为灰度图
image.show()
二值化
# 降噪,图片二值化
def binaryzation(threshold=170):
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
return table
if __name__ == '__main__':
image = Image.open('../OCR-TEST/number.png') # 打开图片
image1 = image.convert('L') # 转化为灰度图
image1.show()
image2 = image1.point(binaryzation(), '1') # 二值化
image2.show()