我用cv2.inRange().提取了影像中的綠色。
但是,提取的影像的顏色都不同。
像這樣 -->在此處輸入影像描述
我想將提取的影像顏色更改為相同。
請幫我....
這是我的代碼。
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)
輸出
在此處輸入圖片說明
uj5u.com熱心網友回復:
你需要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)
干杯
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/372312.html
