python识别图片中的蓝色或者红色的文字
一 、 红色字体识别代码
import cv2
import numpy as np
from PIL import Image
import ddddocr
# 读取图像---要识别的图像
img = cv2.imread('G:/tupian/01.png')
# 将图像转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义红色在HSV颜色空间中的取值范围,以及二值化阈值
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
mask1 = cv2.inRange(hsv, lower_red, upper_red)
lower_red = np.array([170, 50, 50])
upper_red = np.array([180, 255, 255])
mask2 = cv2.inRange(hsv, lower_red, upper_red)
# 结合两个面具
mask = cv2.bitwise_or(mask1, mask2)
# 将二值化结果应用于原始图像,并将红色像素设置为黑色,将非红色像素设置为白色或透明
result = np.zeros_like(img)
result[mask == 255] = [0, 0, 0] # 将红色像素设置为黑色
result[mask != 255] = [255, 255, 255] # 将非红色像素设置为白色或透明
# 保存结果图像
cv2.imwrite('G:/tupian/03.png', result)
# # 显示结果图像
# cv2.imshow('Result', result)
# cv2.waitKey(0)
# cv2.destroyAllWindows()
# 将黑白图片通过ddddocr识别出来
ocr = ddddocr.DdddOcr()
with open('G:/tupian/03.png', 'rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)
二 、 蓝色字体识别
# 读取图像
import cv2
import numpy as np
import ddddocr
# 读取图像
img = cv2.imread('D:/Verification/1.png')
# 将图像转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义蓝色在HSV颜色空间中的取值范围,以及二值化阈值
lower_blue = np.array([100, 50, 50])
upper_blue = np.array([130, 255, 255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# 将二值化结果应用于原始图像,并将蓝色像素设置为黑色,将非蓝色像素设置为白色或透明
result = np.zeros_like(img)
result[mask == 255] = [0, 0, 0] # 将蓝色像素设置为黑色
result[mask != 255] = [255, 255, 255] # 将非蓝色像素设置为白色或透明
# 保存结果图像
cv2.imwrite('D:/Verification/result.jpg', result)
# # 显示结果图像
# cv2.imshow('Result', result)
# cv2.waitKey(0)
# cv2.destroyAllWindows()
# 将黑白图片通过ddddocr识别出来
ocr = ddddocr.DdddOcr()
with open('G:/tupian/03.png', 'rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)