2016-08-10 7 views
0

私がしたいことは、ピクセルの配列全体を調べ、各ピクセルが緑の値、青の値、赤の値を取得することです。これは後で私はそれらの間のパターンを見ることができます。Python 2.7 - 配列内でb、g、rを分ける

これは私のコードのようです。

for frame in camera.capture_continuous(rawCapture, format='bgr', use_video_port =True): 
data=frame.array 
rawCapture.truncate(0) 
ColourCount = Calculations(data) 

これで、一般的なコードの内容を確認できました。これは難しいところです。また、それはあなたのPC上の人のために働かない場合は、単にopencvを使用して、私は彼らが同じデータを保存すると確信しています。

Calculations(data): 
for n in data: 
    for s in n 
     B=s[0] 
     G=s[1] 
     R=s[2] 

これらを印刷すると、結果が得られません。

soは[0,14,0]のようです とBは[0、0、0]と同様です。そのBが青チャネルである(値が何らかの理由で高くなっていないものの、これらは、単なる例です。

は、今私が望むものを、それを分割することであることは、Gは

など、グリーンチャンネルでありますNの例えばので

: B = 0 G = 14 R = 0

それでは、どのように私は

をこれを達成ん、私は、単一の整数をしたいが、それはほぼ全ピクセルを私に送り返しています

編集:前回の間違いの一部は、私が収集していたアイテムが実際にはピクセルではなく行になったということでした。だから私は上記のように、別のループを入れます。

答えて

0

split()関数を使用できます。

Calculations(data): 
bgr = cv2.split(data) 
B = bgr[0] 
G = bgr[1] 
R = bgr[2] 
関連する問題