MATLAB: How can I crop a region of RGB image based on pixel value

croping a region of rgb image based on image color (pixel values)

hey, I have a RGB image (attached). I need to crop the region that has color only, and remove the bright surrounding part. for this reason I used threshold (pixel value= 215) as follows, however this results in a vector which is not desired. I need the color region to be remained as an new RGB image…
original= imread('filename'); original= original(original<215);

Best Answer

Since the regions may not be rectangular, which is required for a crop, you'll have to mask the areas. See my File Exchange for several color segmentation demos that can do that: