質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1588閲覧

機械学習による画素ごとの色の判別・色の置き換え

shogaku

総合スコア2

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/11/05 04:39

編集2020/11/05 07:31

前提・実現したいこと

  数ヶ月前にプログラミングを始めた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)) **#ここで赤色と判別された画素を原色の赤に置き換えたいです。 **

red.jpg
イメージ説明

補足情報(FW/ツールのバージョンなど)

 動作環境
Python3.8
Windows10
OPENCV4.4.0

あまり理解が深まっていないため、所々とんちんかんなことをしているかもしれませんが、ご教授いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

何を学習して何を推論したいのか、もう少し整理するとよいでしょう。

質問者様は、推論として教師あり学習であるロジスティックス回帰を選択しつつ、その学習データにおける正解ラベルの自動生成で悩まれているようです。正解ラベルの自動生成ができるくらなら推論が不要です!!!

整理すると以下に分類されます。

  1. 正解ラベルの自動生成ができそうなら、素晴らしい。機械学習は不要です。

  2. 1)ができないのであれば、正解ラベルをがんばって手作業で作りましょう。それをもって教師あり学習をします。BGRのHSV変換くらいは、人間ががんばって変換してあげなくても、機械学習してくれます。

  3. 1)も2)もできないのであれば、教師なし学習を考えましょう。赤を含むいくつかの原色を容易しておいて、たくさんの画像をk個にクラスタリングして、赤と同じクラスタに入ったものは赤である、と判定します。

投稿2020/11/05 11:00

toast-uz

総合スコア3266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shogaku

2020/11/06 14:03

ご回答いただきありがとうございます。一度自分のやりたいことを整理しなおしてみたいと思います。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問