Ich habe ein Bild gelesen und ich habe das Bild in HSV-Bild umgewandelt. Ich möchte Schwellenwerte für Farbton-, Sättigungs- und Wertkomponenten getrennt anwenden. Farbton halten 0 bis 1, Sättigung halten 0,28 bis 1 und Wert halten 0 bis 0,55thersholding Grenzen auf HSV-Bild in Python
Ich möchte diese Anwendung für die Farbmaskierung!
wie diese Grenzen auf meine Bilddateien angewendet werden.
image_read = cv2.imread('tryimage.jpg')
im = cv2.cvtColor(image_read,cv2.COLOR_RGB2HSV)
im_hue = im[:,:,0]
im_sat = im[:,:,1]
im_val = im[:,:,2]
# how to apply thershold ?
fig, ax = plt.subplots(nrows=1,ncols=3)
ax[0].imshow(im_hue)
ax[1].imshow(im_sat)
ax[2].imshow(im_val)
plt.show()
ich das gleiche in Matlab getan habe, habe ich nur die Pixel meines Interesses in jedem Band aufgenommen und dann verschmolzen diese die Pixel von meinem Interesse zu kommen. Hier ist mein Matlab-Code-Snippet, das ich in Python machen möchte.
color.hueThresholdLow = 0;
color.hueThresholdHigh = 1;
color.saturationThresholdLow = 0;
color.saturationThresholdHigh = 0.28;
color.valueThresholdLow = 0.38;
color.valueThresholdHigh = 0.97;
maskedRGBImage = color_masking(rgbImage,color);
function color_masking(rgbImage, color)
hsvimage = rgb2hsv(rgbImage);
himage = hsvimage(:,:,1);
simage = hsvimage(:,:2);
vimage = hsvimage(:,:,3);
hMask = (hImage >= color.hueThresholdLow) & (hImage <= color.hueThresholdHigh);
sMask = (sImage >= color.saturationThresholdLow) & (sImage <= color.saturationThresholdHigh);
vMask = (vImage >= color.valueThresholdLow) & (vImage <= color.valueThresholdHigh);
ObjectsMask = uint8(hMask & sMask & vMask);
.....
Mit Schwellenwerten meinst du, dass du H, S und V auf diese Werte begrenzen willst, das heißt Werte unter/über den Grenzwerten einhalten oder Werte zurückweisen soll, die nicht in den Grenzwerten liegen? – EvilTak