Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import cv2
- import numpy as np
- # 读取图像
- image = cv2.imread('Tree.png')
- # 将图像从 BGR 转换为 HSV
- hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
- # 定义绿色的 HSV 范围
- lower_green = np.array([15, 35, 35])
- upper_green = np.array([85, 255, 255])
- # 创建绿色区域的掩码
- mask = cv2.inRange(hsv, lower_green, upper_green)
- # 获取绿色区域的 V 值和 S 值
- green_v = hsv[:, :, 2]
- green_s = hsv[:, :, 1]
- # 创建红色 HSV 图像
- red_hsv = hsv.copy()
- red_hsv[:, :, 0] = 0
- red_hsv[:, :, 1] = green_s
- red_hsv[:, :, 2] = green_v
- # 转换回 BGR
- red_bgr = cv2.cvtColor(red_hsv, cv2.COLOR_HSV2BGR)
- # 将绿色部分替换为红色
- result = cv2.bitwise_and(image, image, mask=~mask) + cv2.bitwise_and(red_bgr, red_bgr, mask=mask)
- # 显示结果图像
- cv2.imshow('1', image)
- cv2.imshow('2', result)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
- cv2.imwrite('result_3.png', result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement