||
使用python脚本,完成扫描仪的功能。
import cv2 import numpy as np # 读取图像 image = cv2.imread(r'C:\Users\Shuai\Desktop\1.jpg') # 将图像大小缩小一倍 resized_image = cv2.resize(image, None, fx=0.5, fy=0.5) # 提取红色和黑色部分 lower_red = np.array([0, 0, 0]) upper_red = np.array([160, 250, 255]) red_mask = cv2.inRange(resized_image, lower_red, upper_red) lower_black = np.array([0, 0, 0]) upper_black = np.array([50, 50, 50]) black_mask = cv2.inRange(resized_image, lower_black, upper_black) # 创建一个纯白色的背景 white_background = np.full_like(resized_image, (255, 255, 255)) # 将红色和黑色部分放在白色背景上 red_part = cv2.bitwise_and(resized_image, resized_image, mask=red_mask) black_part = cv2.bitwise_and(resized_image, resized_image, mask=black_mask) result_image = white_background + red_part + black_part # 保存结果 cv2.imwrite('output_image.jpg', result_image) # 显示结果 cv2.imshow('Result Image', result_image) cv2.waitKey(0) cv2.destroyAllWindows()
其中可根据实际效果,对 upper_red = np.array([160, 250, 255]) 中的参数进行微调,最终可达到理想效果。脚本由ChatGPT3.5生成。
参数:np.array([160, 250, 255]) 定义了红色范围的上限。这表示红色分量最多为160,绿色分量最多为250,蓝色分量最多为255。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 05:56
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社