grayscale image average without matlab function
4 次查看(过去 30 天)
显示 更早的评论
Hi
I want to calculate the average of 3x3 cells of a matrix that contains the values of a grayscale image, which is a variable type is unit8
But for example, 2 cells have a value of 200, the sum of 2 of which is 400, but due to the Limitations of unit8 255 is calculated.
when use
pic=im2unit16(pic)
or
pic=unit16(pic)
then use imshow the result is a blank page
Thank you for your help
0 个评论
采纳的回答
Ameer Hamza
2020-10-8
First convert to uint16 (or double. Average the values and convert back to uint8
img = imread('pears.png');
r = img(:,:,1);
g = img(:,:,1);
b = img(:,:,1);
r = uint16(r);
g = uint16(g);
b = uint16(b);
img_gray = (r+g+b)/3;
imshow(uint8(img_gray))
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!