用MATLAB怎么获取任意像素点的灰度值

用MATLAB怎么获取任意像素点的灰度值

这两天跑代码遇到一个问题,想要根据图像的灰度值进行阈值分割,通过学习,总结以下两种方法来对任意像素点的灰度值。
方法一
1.首先取得你想要的点的坐标,通过ginput函数,然后在出现的图像上“点击你想要的点”,然后“回车”

I = rgb2gray(I); %转化为单通道灰度图
[y0,x0]=ginput()
y0=round(y0); %round代表四舍五入
x0=round(x0);

2.通过impixel函数获取该点的灰度值

impixel = I(x0,y0)

具体示例代码:

I=imread('你的图片.JPG');
I = rgb2gray(I);
imshow(I);
[y0,x0]=ginput();
y0=round(y0); 
x0=round(x0);
impixel = I(x0,y0)

结果:
用MATLAB怎么获取任意像素点的灰度值_第1张图片
用MATLAB怎么获取任意像素点的灰度值_第2张图片
方法二
使用matlab自带工具“数据游标”就可以显示,如下所示:
用MATLAB怎么获取任意像素点的灰度值_第3张图片
点击你想要的点就可以显示:当时RGB图像时,没有经过灰度处理,所显示的就是对应的R、G、B的值,当灰度化后,可看到RGB相等,得到的就是灰度值。
用MATLAB怎么获取任意像素点的灰度值_第4张图片

你可能感兴趣的:(matlab,matlab)