How to obtain union of two RGB Images of same size ?

2 Ansichten (letzte 30 Tage)
Anand
Anand am 22 Sep. 2014
Kommentiert: Anand am 1 Okt. 2014
I have two rgb images. How to obtain union of this two images ? I'm getting error if i use union command as it is operable to vectors.
  5 Kommentare
Anand
Anand am 26 Sep. 2014
Sir i'm not going for average or any concatenation, i just want to know what does '∪' does between two images at certain pixel locations. I saw this symbol used in a journal paper between two images ?
if i read an (RGB) image say
I=imread(filename);
and let say image size is 600 x 600 x 3
after this step if i type in matlab command window as below
I(1,1,:,:,1)
i will get R, G & B values at pixel (1,1); ie (x,y)
Anand
Anand am 26 Sep. 2014
I agree it's not an RGB image, I(x,y,:,:,1) will represent only pixels value at point(x,y). My aim is to find what ' ∪ ' means & how to use it between two images. I have attached the journal paper. In the shadow removal techniq if you see the last step (formula) they have used the symbol ' ∪ ' . any help on this ?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 26 Sep. 2014
For each spectral band, it finds a binary image that says whether an image is considered shadow or non shadow. It then processes the shadow regions to brighten them, and also does some adjustment of the non-shadow/bright regions to normalize their intensity. Then it combines them so that the pixels in the new, improved image are either the improved shadow pixel, or the improved bright pixel, depending on what they started out as. In essence
binaryImage = output of their Otsu-based algorithm
improvedShadowRegion = algorithm applied to pixels defined by binaryImage
improvedBrightRegion = algorithm applied to pixels defined by inverse of binaryImage
improvedImage = improvedShadowRegion(binaryImage) + improvedBrightRegion(binaryImage);
That makes each pixel either the improved bright or shadow value, depending on what class (bright or shadow) it started out as. It doesn't look like they do any feathering/blending of the borderlines between the bright and shadow regions.
  3 Kommentare
Image Analyst
Image Analyst am 1 Okt. 2014
No, sorry. I just don't have the time to dig into it. Did you ask the authors of the paper for help?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Thorsten
Thorsten am 26 Sep. 2014
Bearbeitet: Thorsten am 26 Sep. 2014
The symbol '∪' is used in the paper to denote that the original image is the union of two images, one with shadows, the other without shadows. Once you have the binary mask M that divides the image into these two parts, you can use something like
shadow_index = find(M == 0);
nonshadow_index = find(M == 1);
R(shadow_index) = ... % some computations for the shadow regions
R(nonshadow_index) = ... % other computations for the non-shadow regions
% same for G and B
In the context of the paper it does not make any sense to compute some union between images.

Community Treasure Hunt

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

Start Hunting!

Translated by