python
1img = [np.array(Image.open('drive/My Drive/0.png')), 2 np.array(Image.open('drive/My Drive/1.png')), 3 np.array(Image.open('drive/My Drive/2.png'))]
こんな感じで、RGBを三種類とも行列に入力していたのですが、
色々やってみたんですが、やっぱり白か黒だけの情報で今のところはいいので、RGBは3種類もいらないため、
モノクロの情報、例えば、Rのみとか、もしくは詳しく知らないんですが、輝度?のみとかの情報を1種類の「値」として得たいのですが、どうすれば良いのでしょうか。
まずはマニュアルをよく読んでみると良いのではないでしょうか。
https://pillow.readthedocs.io/en/stable/
マニュアルは英語で書かれており、なかなか読むのが大変で、自分が求めるものがどこにあるのかが・・・。
色々調べてみましたところ、あるサイトにGチャンネル法というものが載っていました。
以下。
人間はRGBのうち、Gを一番強く認識しているらしい。これに注目したのが、Gチャンネル法である。
Gチャンネル法では、Gの値をYの値とみなす。要するにすごい荒っぽいやり方であるが、そこそこ有効なので人間は不思議なものである。(網膜の上だとRもGも同じくらいの錐体細胞があるはずなのでなおさら不思議)
コードは簡単である。なお...はEllipsisという便利な記号である。
img = plt.imread('labyrinth.jpeg')
img_g_channel = img[...,1]
img_show(img_g_channel)
これを使えば、Gチャンネルの値だけのlistを作れるのでしょうか?
成分が3つあると大変なので、1つにしたい・・・、具体的には、
r=0 g=4 b=3 | r=6 g=6 b=7 | r=0 g=5 b=3 | r=5 g=6 b=5 | r=8 g=9 b=7
r=0 g=6 b=3 | r=6 g=6 b=7 | r=0 g=5 b=3 | r=5 g=6 b=5 | r=8 g=9 b=7
r=0 g=4 b=3 | r=6 g=7 b=7 | r=0 g=5 b=3 | r=5 g=2 b=5 | r=8 g=9 b=2
r=0 g=4 b=1 | r=7 g=6 b=7 | r=1 g=5 b=3 | r=5 g=6 b=5 | r=8 g=9 b=7
こういう画素のものがあったとして、これを
g=4 | g=6 | g=5 | g=6 | g=9
g=6 | g=6 | g=5 | g=6 | g=9
g=4 | g=7 | g=5 | g=2 | g=9
g=4 | g=6 | g=5 | g=6 | g=9
つまり、
4 6 5 6 9
6 6 5 6 9
4 7 5 2 9
4 6 5 6 9
このような、gの値のみの行列に還元したい。
> マニュアルは英語で書かれており、なかなか読むのが大変で、自分が求めるものがどこにあるのかが・・・。
Googleで「site:https://qiita.com "調べたいキーワード"」と探すと、「困った!」に答えられる事例が見つかりやすいです。
回答1件
あなたの回答
tips
プレビュー
