2016-10-06 11 views
0

私はコンピュータビジョンとOpenCVを使い慣れていないので、未熟な言語を気にしてください。誰かがcv2.minの機能を教えてくれますか?cv2.minの機能

Iは、OpenCVの帳からRGV(赤、緑、値)にBGRから隠れ家このコードを有する:

b, g, r = cv2.split(src) 
    cv2.min(b, g, b) 
    cv2.min(b, r, b) 
    cv2.merge((b, g, r), dst) 

SRCDSTをは、ソースとデスティネーションベクターであります画像。

私の具体的な質問は以下のとおりです。

cv2.minはイテレーションの両方でBには何をしているのですか?それはRグラムの両方のために2回評価されていますので、どのような値は、Bに割り当てられていますか?

このコードで何が起こっているのか教えてください。

答えて

1

誰かが私にcv2.minの機能について教えてもらえますか? doc

ルック:

パイソン:cv2.min(src1, src2[, dst]) → dst

機能はmin二つの配列の要素毎の最小値を計算する、またはアレイとスカラー


rとgの両方について2回評価されているので、値はどのようにbに代入されますか?

cv2.min(b, g, b1) # b1 contains the minimum values between b and g 
cv2.min(b1, r, b2) # b2 contains the minimum values between b1 and r 
b = b2 

cv2.minは、両方の反復でbには何をしているのです:

あなたはこのように打破することができますか? b

i番目要素はb(i), g(i), r(i)における最小要素であろう。

# Pseudocode 
for each row 
    for each col 
     b(row, col) = min(b(row, col), g(row, col), r(row, col)) 

HSVにおけるV値は以下のように計算されるので、これはおそらく、これは、正しくありませんmax(R,G,B)となり、チャンネルの順序が逆になります。 RGVの色空間を取得するには、これを行う必要があります:

b, g, r = cv2.split(src) 
cv2.max(b, g, b) 
cv2.max(b, r, b) 

# now 'b' contains the 'v = max(r,g,b)' 
cv2.merge((r, g, b), dst) 
+0

私は答えを投票できます。とてもよく説明されています。このことを説明する時間をとっていただきありがとうございます。 –

+0

受け入れは大丈夫です; D喜んで助けました – Miki

関連する問題