2017-10-07 88 views
0

我有一個圖像,它使用opencv轉換爲HSV。更改python中圖像的hsv值

我想將HSV中的整體V值轉化爲200,反正有。

我用下面的代碼,以將圖像轉換爲HSV並分成H,S,V

image = cv2.imread('../images/test/image_1.jpg',cv2.COLOR_BGR2HSV) 
h, s, v = cv2.split(image) 

image = cv2.merge([h,s,v]) 
out = cv2.cvtColor(image, cv2.COLOR_HSV2BGR) 
cv2.imshow('image',out) 
k = cv2.waitKey(0) 
cv2.destroyAllWindows() 

回答

2

所有你需要的是這條線。

image[:,:,2] = 200 

這改變V值以200

你的最終方案應該是這樣。

image = cv2.imread('../images/test/image_1.jpg') 
image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) 

image[:,:,2] = 200 # Changes the V value 

out = cv2.cvtColor(image, cv2.COLOR_HSV2BGR) 
cv2.imshow('image',out) 
k = cv2.waitKey(0) 
cv2.destroyAllWindows() 
+0

謝謝你這個作品 –

+0

「你正在讀HSV」是**不是**。您需要加載一個bgr圖像並顯式轉換爲hsv。 「cv2.COLOR_BGR2HSV」作爲inshow的參數沒有任何意義。 – Miki

+0

@Miki Yup,你說得對。我的錯。謝謝三木! :) – Titanoboa