画像の色を変える

Python

緑色の部分を赤くする

import cv2
import numpy as np

# OpenCV (-215:Assertion failed) !_src.empty() というエラーが出た場合は
# ファイルのパス指定ができておらずファイルを認識していないという意味のエラーであり、
# ファイル名に「デスクトップ」という日本語が使われていることが原因
# https://laboradian.com/use-en-folder-name/ を参考にして日本語から英語に変えること
img =  cv2.imread('C:/Users/bijob/Downloads/sample.jpg')

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

#hsv2 = np.copy(hsv)
hsv3 = np.copy(hsv)

# h>173の画素のhを-90
#hsv2[:,:,0] = np.where(hsv[:,:,0]>173, hsv[:,:,0]-90, hsv[:,:,0])

# h<5の画素のhを+90
#hsv3[:,:,0] = np.where(hsv2[:,:,0]<5, hsv[:,:,0]+90, hsv2[:,:,0])

# 緑色を赤くする
hsv3[:,:,0] = np.where((hsv[:,:,0]>30) & (hsv[:,:,0]<90), hsv[:,:,0]+90, hsv[:,:,0])


# HSVからBGRに戻す
bgr = cv2.cvtColor(hsv3, cv2.COLOR_HSV2BGR)

# 画像の保存
cv2.imwrite("C:/Users/bijob/Downloads/redddd.jpg", bgr)
BACK