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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

OpenCV

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

Python

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

Q&A

解決済

2回答

1196閲覧

OpenCVから得られた色相分布の意味に関して。

daisuke_factex

総合スコア42

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

OpenCV

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

Python

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

0グッド

1クリップ

投稿2018/01/15 04:52

編集2018/01/15 04:53

いつもお世話になっております。

前回、色相分布を求める質問や、CSVデータをまとめたい質問をしていた者です。

今回、やっとopenCVを用いて画像の色相分布を行列に変換することができました。
しかしこの分布をみていると、期待していた分布と違うのではないか?と思い質問したいと思いました。

##疑問点

まずもとの画像と色相分布の行列を見てください。(入力画像は54枚あるのですが内一枚を抜粋)
入力画像

python

1#データを読み込み、HSV表色系に変換後、ヒストグラムに変換。 2#これをCSVデータとして保存する。 3for i in range(1, 55): 4 img = cv2.imread("/Users/hogehoge/piyopiyo/fugafuga({0:d}).png".format(i)) 5 img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) 6 hist = cv2.calcHist([img], [0], None, [180], [0, 180]) 7 np.savetxt('hogepiyo({0:d}).csv'.format(i), hist, delimiter=',')

そして保存された分布行列が以下のようになります。

13622.00   ←注目してください。(後述) 8.00 15.00 17.00 11.00 68.00 89.00 69.00 202.00 195.00 243.00 620.00 656.00 1420.00 2166.00 6649.00 3224.00 5430.00 1722.00 989.00 654.00 540.00 294.00 163.00 239.00 140.00 82.00 2.00 4.00 2.00 552.00 0.00 15.00 3.00 12.00 35.00 146.00 0.00 8.00 2.00 8.00 1.00 32.00 14.00 0.00 9.00 0.00 0.00 5.00 0.00 94.00 1.00 2.00 1.00 0.00 17.00 1.00 2.00 0.00 0.00 35.00 0.00 0.00 3.00 0.00 1.00 43.00 0.00 0.00 0.00 8.00 0.00 0.00 4.00 3.00 757.00 0.00 3.00 2.00 2.00 44.00 1.00 0.00 96.00 1.00 2.00 1.00 17.00 1.00 0.00 37.00 1.00 2.00 12.00 0.00 20.00 92.00 4.00 33.00 14.00 21.00 96.00 57.00 175.00 89.00 117.00 110.00 124.00 71.00 150.00 178.00 47.00 13.00 13.00 23.00 16.00 14.00 1.00 0.00 1.00 195.00 0.00 2.00 1.00 10.00 16.00 32.00 0.00 3.00 0.00 2.00 0.00 22.00 4.00 0.00 2.00 1.00 0.00 4.00 0.00 53.00 5.00 0.00 1.00 2.00 9.00 2.00 0.00 0.00 0.00 6.00 0.00 0.00 1.00 0.00 1.00 18.00 1.00 0.00 2.00 7.00 1.00 1.00 8.00 5.00 218.00 0.00 0.00 1.00 1.00 19.00 2.00 0.00 42.00 1.00 5.00 1.00 17.00 2.00 0.00

パッと見では、何も問題がないのでは、と思うのですが、
色相H:0、つまり赤色分布である部分の画素数が異常に多いことが気になります。

質問がうまくまとまらないのですが、H:0の部分が多いのは正常なのでしょうか。
ご教授お願いします。

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

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

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

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

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

guest

回答2

0

自己解決

一行目には、色相:0の画素とαチャンネルの画素の2つが合計されているようです。

実験として、αチャンネルのみの画像を読み込み、色相分布がどうなるかの検証をしてみます。

python

1 2 3import cv2 4import numpy as np 5 6img = cv2.imread("alpha_test.png")  #100*5pixelの画像を入力 7img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) 8hist = cv2.calcHist([img], [0], None, [180], [0, 180]) 9np.savetxt('alpha_test.csv', hist, delimiter=',') 10print(hist)

結果としては、```[[ 500.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]
[ 0.]]

となります。 同様に、250pixelを色相値0の色で塗りつぶし、残りはαチャンネルのままの画像を入力します。 ```python import cv2 import numpy as np img = cv2.imread("alpha_test2.png") img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) hist = cv2.calcHist([img], [0], None, [180], [0, 180]) np.savetxt('alpha_test2.csv', hist, delimiter=',') print(hist)

結果が、

[ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.] [ 0.]]

となり、まったく同じ結果になることがわかりました。

投稿2018/01/17 07:15

daisuke_factex

総合スコア42

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

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

0

1行目は全画素数らしいです。
お騒がせしました。

少し考えなおします。度々お騒がせしております。

投稿2018/01/16 06:29

編集2018/01/16 07:10
daisuke_factex

総合スコア42

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問