pythonで画像を読み込み、その画像の各行ごと、画素のRGB値がそれぞれ何個あるのかを知りたいです。
以下のような画像を読み込んだ時に以下のような結果が理想です。
1行目 cleam 9 2行目 red 1, white3, yello2, black3 ・ ・ ・
自分で作る時にまずは行ごとではなく全体の画素ごとのRGB値がどの数あるのかを調べるために以下のプログラムを作りました。
from PIL import Image from numpy import * import numpy as np #np.set_printoptions(threshold=np.inf) #画像の読み込み im = Image.open('22_resize.png') #各色ごとの画素の数を数える変数 black = 0 white = 0 red = 0 cleam = 0 blue = 0 violet = 0 for i in im.getdata(): if i[0]<=50 and i[1]<=50 and i[2]<=50: black += 1 if i[0]>=200 and i[1]>=200 and i[2]>=200: white += 1 if i[0]>200 and i[1]<50 and i[2]<50: red += 1 if i[0]>100 and i[1]>100 and i[2]>90: cleam += 1 if i[0]<100 and i[1]<50 and i[2]>200: blue += 1 if i[0]>100 and i[1]<50 and i[2]>90: violet += 1 print ('black=' + str(black)) print ('white='+str(white)) print ('red='+str(red)) print ('cleam='+str(cleam)) print ('blue='+str(blue)) print ('violet='+str(violet))
上のプログラムをイジって行ごとの数値を出そうとしたのですがどのように進めていけばいいのかで止まってしまいました。
どなたかわかる方のお力を貸して欲しいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/29 13:22 編集