如何使用 Python OpenCV 将颜色提取图像更改为相同颜色?
How do I change the color extracted image to the same color with Python OpenCV?
我用 cv2.inRange()
在图像中提取了绿色。
但是,提取出来的图片颜色都不一样。
像这样 --> enter image description here
我想将提取的图像的颜色更改为相同的颜色。
请帮帮我....
这是我的代码。
import numpy as np
import cv2
img = cv2.imread('test_img.jpg')
height, width = img.shape[:2]
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_green = (35,45,0,0)
upper_green = (80, 255, 255,0)
img_mask = cv2.inRange(img_hsv, lower_green, upper_green)
img_result = cv2.bitwise_and(img, img, mask = img_mask)
cv2.imshow('color',img_result)
输出
enter image description here
您需要zero
图像的B
和R
尺寸,如下:
import numpy as np
import cv2
img = cv2.imread('test_img.jpg')
height, width = img.shape[:2]
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_green = (35,45,0,0)
upper_green = (80, 255, 255,0)
img_mask = cv2.inRange(img_hsv, lower_green, upper_green)
img_result = cv2.bitwise_and(img, img, mask = img_mask)[:, :, 1]
img[:, :, 0] = 0
img[:, :, 2] = 0
img[:, :, 1] = img_result
cv2.imshow('color', img)
cv2.waitKey(0)
或者如果你想要更简单的输出图片的方式,可以使用matplotlib.pyplot
,如下:
import matplotlib.pyplot as plt
plt.imshow(img)
干杯
我用 cv2.inRange()
在图像中提取了绿色。
但是,提取出来的图片颜色都不一样。
像这样 --> enter image description here
我想将提取的图像的颜色更改为相同的颜色。
请帮帮我....
这是我的代码。
import numpy as np
import cv2
img = cv2.imread('test_img.jpg')
height, width = img.shape[:2]
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_green = (35,45,0,0)
upper_green = (80, 255, 255,0)
img_mask = cv2.inRange(img_hsv, lower_green, upper_green)
img_result = cv2.bitwise_and(img, img, mask = img_mask)
cv2.imshow('color',img_result)
输出
enter image description here
您需要zero
图像的B
和R
尺寸,如下:
import numpy as np
import cv2
img = cv2.imread('test_img.jpg')
height, width = img.shape[:2]
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_green = (35,45,0,0)
upper_green = (80, 255, 255,0)
img_mask = cv2.inRange(img_hsv, lower_green, upper_green)
img_result = cv2.bitwise_and(img, img, mask = img_mask)[:, :, 1]
img[:, :, 0] = 0
img[:, :, 2] = 0
img[:, :, 1] = img_result
cv2.imshow('color', img)
cv2.waitKey(0)
或者如果你想要更简单的输出图片的方式,可以使用matplotlib.pyplot
,如下:
import matplotlib.pyplot as plt
plt.imshow(img)
干杯