Opencv图像识别常用的处理算法

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()

你可能感兴趣的:(❤,OpenCV)