Measuring different parts of a region within a binary-masked image
Hello,
I am attempting to quantify the dimensions of a region within timelapse frames (here, measuring an area of sand in water) for several thousand images. I want to measure the relative width of the sand area of each image, including local maxima and minima as well as the sediment-water boundary length (see magenta bars/line in ‘SurfaceTestRGBandBinaryMaskMeas.jpg’).
I am using the Matlab Image Processing Toolbox and, using the Image Batch Processor, I have been able to use the Image Segmenter and imcrop functions to isolate the sand and water from frame artifacts (see cyan box in ‘SurfaceTestRGBandBinaryMaskMeas.jpg’) and convert the RGB image into a binary mask (see attached code), but after that, I’m at a loss for how to get the measurements I indicated above without measuring each frame by hand.
Additionally, due to lighting issues for some of the frames, the binary masking sometimes does not separate dark areas of sand from the water, which sometimes results in being unable to measure part of the sand boundary (see binary image in attached jpg).
Any help is much appreciated!Hello,
I am attempting to quantify the dimensions of a region within timelapse frames (here, measuring an area of sand in water) for several thousand images. I want to measure the relative width of the sand area of each image, including local maxima and minima as well as the sediment-water boundary length (see magenta bars/line in ‘SurfaceTestRGBandBinaryMaskMeas.jpg’).
I am using the Matlab Image Processing Toolbox and, using the Image Batch Processor, I have been able to use the Image Segmenter and imcrop functions to isolate the sand and water from frame artifacts (see cyan box in ‘SurfaceTestRGBandBinaryMaskMeas.jpg’) and convert the RGB image into a binary mask (see attached code), but after that, I’m at a loss for how to get the measurements I indicated above without measuring each frame by hand.
Additionally, due to lighting issues for some of the frames, the binary masking sometimes does not separate dark areas of sand from the water, which sometimes results in being unable to measure part of the sand boundary (see binary image in attached jpg).
Any help is much appreciated! Hello,
I am attempting to quantify the dimensions of a region within timelapse frames (here, measuring an area of sand in water) for several thousand images. I want to measure the relative width of the sand area of each image, including local maxima and minima as well as the sediment-water boundary length (see magenta bars/line in ‘SurfaceTestRGBandBinaryMaskMeas.jpg’).
I am using the Matlab Image Processing Toolbox and, using the Image Batch Processor, I have been able to use the Image Segmenter and imcrop functions to isolate the sand and water from frame artifacts (see cyan box in ‘SurfaceTestRGBandBinaryMaskMeas.jpg’) and convert the RGB image into a binary mask (see attached code), but after that, I’m at a loss for how to get the measurements I indicated above without measuring each frame by hand.
Additionally, due to lighting issues for some of the frames, the binary masking sometimes does not separate dark areas of sand from the water, which sometimes results in being unable to measure part of the sand boundary (see binary image in attached jpg).
Any help is much appreciated! binary mask, image processing, image analysis, image segmentation MATLAB Answers — New Questions