前提・実現したいこと
数ヶ月前にプログラミングを始めたPython初心者です。
赤色のグラデーション画像の半分から左側の各画素のHSV値を学習データとして、
右側の各画素を赤色であると判別させ、原色の赤色(H=0,S=100,V=100)に置き換えた画像を生成したいと考えています。
発生している問題・エラーメッセージ
学習させる段階で、色のHSV配列をラベル付けをしようと試みましたがあまりうまくいかず悩んでいます。。。ここからどのように組めばよいでしょうか
該当のソースコード
import numpy as np import cv2 import sklearn from sklearn.linear_model import LogisticRegression #画像読み込み img = cv2.imread('red.jpg') #BGR→HSV変換 img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) #画素データの分割 cells = [np.hsplit(row,290) for row in np.vsplit(img,293)] #データの格納 x = np.array(cells) #学習データ・テストデータの分割 train = x[:,:145].reshape(-1,1).astype(np.float32) test = x[:,145:290].reshape(-1,1).astype(np.float32) ****#ここで画素ごとのラベル付けを行いたいです。**** #ロジスティック回帰 logr = LogisticRegression() logr_model = logr.fit(train, train_labels) pred = logr_model.predict(test) #分類をさせた結果 print('判別結果') print('観測:', test_labels) print('予測:', pred) print('正答率:', logr_model.score(test, test_labels)) **#ここで赤色と判別された画素を原色の赤に置き換えたいです。 **
補足情報(FW/ツールのバージョンなど)
動作環境
Python3.8
Windows10
OPENCV4.4.0
あまり理解が深まっていないため、所々とんちんかんなことをしているかもしれませんが、ご教授いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/06 14:03