用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自带工具“数据游标”就可以显示,如下所示:
点击你想要的点就可以显示:当时RGB图像时,没有经过灰度处理,所显示的就是对应的R、G、B的值,当灰度化后,可看到RGB相等,得到的就是灰度值。