Filter löschen
Filter löschen

Background subtraction in an RGB Image

1 Ansicht (letzte 30 Tage)
Fodio Longman
Fodio Longman am 13 Nov. 2018
Beantwortet: Adam am 14 Nov. 2018
how can i do a background subtraction on an RGB image?
image1.jpg
  6 Kommentare
Fodio Longman
Fodio Longman am 13 Nov. 2018
I want to take out the black sorround from the image. That is my aim
Thank you
Image Analyst
Image Analyst am 13 Nov. 2018
You can't. At best you could crop it down to the object in the image, giving a rectangular image. Images must remain rectangular and not have some ragged irregular shape.

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Fodio Longman
Fodio Longman am 13 Nov. 2018
I have attached the image i want to subtract the black background from the image.
Thank you
  1 Kommentar
Adam
Adam am 13 Nov. 2018
And what do you want to replace it with? The colour of the axes behind?

Melden Sie sich an, um zu kommentieren.


Fodio Longman
Fodio Longman am 13 Nov. 2018
Yes pls

Adam
Adam am 14 Nov. 2018
Well, you can do something like this:
rgb = rand( 5, 5, 3 ); % Random image
rgb( 2, 3, : ) = [0 0 0]; % Turn a pixel black
rgb( 4, 3, : ) = [0 0 0]; % Turn a pixel black
mask = sum( rgb, 3 ) > 0;
figure; h = imagesc( rgb );
h.AlphaData = mask;
Obviously in your case you don't need the first 3 lines, they are just for me to create an example of an image with some black pixels.
Bear in mind though that this will make all black pixels transparent so that you see the colour of the axes underneath, so if you have bona fide black pixels elsewhere within your image this will make them transparent too which is not desirable.
In that case you would have to run some kind of algorithm which would work out the boundary of your desired image to segment out the background, but that is not my area of expertise. The remaining part would be the same though - however you create the background mask, just set its inverse as the AlphaData (Note that my mask above is actually the non-mask because we are setting it as AlphaData where 1 means opaque and 0 means transparent).

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by