2016-06-17 24 views
0

Ich habe ein Bild in Slic Superpixel unterteilt. Ich benutze die GUI, um einige dieser Superpixel auszuwählen. Jetzt möchte ich die ausgewählten Superpixel als transparente Kacheln hervorheben.
Allerdings weiß ich nur, wie man entweder a) eine Maske verwendet, um Teile des Overlay-Bildes zu unterdrücken, oder b) wie man das gesamte Overlay als transparent einstellt.Wie man eine teilweise transparente Überlagerung auf Bild in Matlab macht?

a)

imshow(superPixelImage) 
hold on; 
h = imshow(overlayImage); 
set(h,'AlphaData',overlayMask); 

b)

imshow(superPixelImage) 
hold on; 
h = imshow(overlayImage); 
set(h,'AlphaData',0.5); 

jemand Kennt wie beide so kombinieren, dass die Überlagerung auf dem nicht ausgewählten Bereich vollständig transparent ist und teilweise transparent auf dem markierten Superpixel?

Edit:
This ist eine Beta-Version meines MATLAB-Code, der verwendet werden kann semantische Etiketten für eine Bilddatenbank zu erstellen.

a)

b)

Antwort

1

Sie können eine Matrix einfügen, die die Größe des Bildes entsprechen Parameter der 'Alphadata' zu füllen.

imshow(superPixelImage) 
hold on; 
h = imshow(overlayImage); 
AlphaMatrix = (~im2bw(overlayImage)>0)*0.5 %creation of your AlphaMatrix. 
set(h,'AlphaData',AlphaMatrix); 
+0

Es funktioniert :). Ich wusste nicht, dass die 'AlphaMatrix' auch aus Doppelwerten bestehen könnte. Danke vielmals! – mcExchange