2
円の最小RGB値を取得する必要があります。マスクを適用する平均RGB値メソッド(cv2.mean)のようにするにはどうすればよいですか?私がやっているサークルの平均RGB値を取得するには:マスクを使用したOpenCVの最大値と最小値
color_img
は、元の画像をある
circle_img = np.zeros((circle_img.shape[0],circle_img.shape[1]), np.uint8)
cv2.circle(circle_img,(x_center,y_center),radio,(255,255,255),-1)
datos_rgb = cv2.mean(color_img, mask=circle_img)
。
は私がやっている最小RGB値を取得するには:masked_data
は、第二の画像(マスクされた丸)である
masked_data = cv2.bitwise_and(color_img, color_img, mask=circle_img)
rgb_min = masked_data.reshape((masked_data.shape[0]*masked_data.shape[1], 3)).min(axis=0)
。
しかし私はバックグラウンドのために値[0,0,0]を得ています...私は黒の背景を無視するためにマスクを適用する平均(cv2.mean)のようにする必要があります。
masked_data = cv2.bitwise_and(color_img, color_img, mask=circle_img)
rgb_max = masked_data.reshape((masked_data.shape[0]*masked_data.shape[1], 3)).max(axis=0)
ので:値を取得することはできませんので、何も純粋な黒は、[0,0,0]
は、それが完璧にやって作品の最大のRGB値を取得するには、元の画像ではありません黒色[0,0,0]ここでは影響しません。
これは元の画像です。
これは、マスクされたサークルです。あなたはむしろ、他の人のために、いくつかのためのOpenCV
とnumpy
を使用するよりも、すべての必要な計算の結果を得るためにのみnumpy
メソッドを使用してみて、いくつかのケースでnumpyのは、実行時間の面でOpenCVのを、実行することができ