OpenCvSharp で MaxRGB フィルターを実装しようとしています。Pythonで同様の解決策を見つけましたがR[R<M]=0
、OpenCvSharp または C++ での記述方法がわかりません。値がマスクの値より小さいチャネルの値に 0 を設定することを意味します。
def max_rgb_filter(image):
# split the image into its BGR components
(B, G, R) = cv2.split(image)
# find the maximum pixel intensity values for each
# (x, y)-coordinate,, then set all pixel values less
# than M to zero
M = np.maximum(np.maximum(R, G), B)
R[R < M] = 0
G[G < M] = 0
B[B < M] = 0
# merge the channels back together and return the image
return cv2.merge([B, G, R])
の C#/C++ 代替はR[R < M] = 0
何ですか? または、通常のループを使用する必要がありますか?