Greetings, I have a code like shown as below: img = imread('I.jpg'); % this image in grayscale c = 1; BW = img > 0; BW = bwareaopen(BW,50); s = regionprops(BW,img,{'Centroid','MeanIntensity','PixelValues'}); numObj = numel(s); for k = 1:numObj s(k).Gamma = round((2.6593.*(s(k).MeanIntensity)+0.3137),1); s(k).Output = c*(s(k).PixelValues.^s(k).Gamma); end I want to ask is there any possible way to display the new image obtained from the s(k).Output?
John Williams answered .
2025-11-20
img = imread('coins.webp'); % this image in grayscale
c = 1;
BW = img > 127; % I have changed the threshold value for coins.webp
BW = bwareaopen(BW,50);
s = regionprops(BW,img,{'Centroid','MeanIntensity','PixelValues','PixelIdxList'}); % add PixelIdxList
numObj = numel(s);
for k = 1:numObj
s(k).Gamma = round((2.6593.*(s(k).MeanIntensity)+0.3137),1);
s(k).Output = c*(s(k).PixelValues.^round(s(k).Gamma)); % gamma is rounded to avoid error
img(s(k).PixelIdxList) = s(k).Output;
end
imshow(img)
