Cropping greyscale image based on pixel
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
victor law
am 23 Feb. 2017
Kommentiert: victor law
am 23 Feb. 2017
Hi all,
I intend to crop images based on its pixel value or intensity. Here are my images below, labeled as image1, image2... image 7.
All these images are from the taken from the object but replaced with different optical density filters. I performed a simple imcrop() rectangle and subplotted to obtain the following.
For example if I take image3, I am mostly interested in the center and would like to crop out that weird eclipse area.
I would like to somehow be able to define a range to crop and keep the cropped area. For each image, I will need to define a new range, depending on the section I want to keep or discard. Can I do something like, if the pixelvalue < 50, then make it transparent?
Later on, I would like to paste these cropped areas on top of each other.
Thanks, Victor
0 Kommentare
Akzeptierte Antwort
Peter O
am 23 Feb. 2017
The quick-n-dirty way that comes to mind is to just use a bitmask: 0 to toss a pixel's value and 1 to keep it. It's a little memory intensive but it won't care about the shape of the ROI.
For a given filtered image,
%Returns a logical matrix equal in size to your image, doing a per-pixel comparison.
Mask1 = (Im1 > 50);
Then to combine, just add everyone together with the bitmasks, performing a bitwise mult to only keep the pixels you want. The other pixels will be zero. So not exactly transparent, but since you're working in grayscale I suspect you don't have (or need) an alpha channel.
ImAll = Im1.*Mask1 + Im2.*Mask2 + ...
Obviously you could use N-D arrays instead of discrete variables and matrices and a half dozen other tricks if you wanted, depending on your end application. Is that sufficient? Or too coarse a solution?
3 Kommentare
Weitere Antworten (1)
Image Analyst
am 23 Feb. 2017
I'm not sure of the exact algorithms they use in HDR reconstruction. A simplistic view would be to extract non-saturated pixels and divide them by the transmissivity, then average or scale any pixels that show up in multiple images, as I said the prior time you asked this.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Image Processing Toolbox 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!