選択した色以外のすべての色を削除する誰かのコードを勉強しています。コードサンプルの次の行を置き換える場合、赤を除くすべてを黒くペイントしようとします
nonRedIndex = (hPlane > 20) & (hPlane < 340);
ただし、他のダイアポゾンは機能しないことがわかりました。なぜか教えてくれますか?
cdata = imread(path);
hsvImage1 = rgb2hsv(cdata); %# Convert the image to HSV space
hPlane = 360.*hsvImage1(:,:,1); %# Get the hue plane scaled from 0 to 360
sPlane = hsvImage1(:,:,2); %# Get the saturation plane
lPlane = hsvImage1(:,:,3);
nonRedIndex = (hPlane > 140) & ... %# Select "non-red" pixels
(hPlane < 120);
sPlane(nonRedIndex) = 0; %# Set the selected pixel saturations to 0
lPlane(nonRedIndex) = 0;
hsvImage1(:,:,2) = sPlane; %# Update the saturation plane
hsvImage1(:,:,3) = lPlane;
rgbImage1 = hsv2rgb(hsvImage1);