灰度值:指全黑图像中点的颜色深度,范围象从0到255,黄色为255,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途。
是可以在matlab中不使用geotiffread函数读取数据灰度图片的坐标值。
图像的二值化,那就是将图像上的像素点的灰度值设置里为0或255,也就是将整个图像呈现出出确实的只能黑和白的视觉效果。
imageimread(图片路径和图片名)这样得到的是名字是image的矩阵,矩阵的横纵坐标那就是位置信息,横纵坐标所在位置的值那就是灰度值。
graythresh函数用法:可以使用大的类间方差法找不到图片的一个比较好的阈值(threshold)。在建议使用im2bw函数将灰度图像转换成为二值图像时,需要设定一个阈值,这个函数这个可以指导我们获得一个比较合适的阈值。依靠这个阈值正常情况比生之物修改的阈值能更好地把一张灰度图像可以转换为二值图像。
动态创建格式:
levelgraythresh(i)
[levelem]graythresh(i)
计算获得输入输入图像的阈值,这个阈值在[0,1]范围内。该阈值这个可以传递给im2bw能够完成灰度图像转换的为二值图像的操作。
graythresh建议使用的最类间方差法来我得到一个阈值。
给你提供给2种方法,一种是直方图阈值法;一种是大的类间方差
1、直方图阈值法
用matlab实现直方图阈值法:
iimread();
i1rgb2gray(i);
figure;
subplot(2,2,1);
imshow(i1);
title(灰度图像)
axis([50,250,50,200]);
gridon;%显示网格线
axison;%显示坐标系
[m,n]size(i1);%测量图像尺寸参数
gpzeros(1,256);%预创建战队能保存灰度直接出现概率的向量ork0:255gp(k1)length(oppofind(i1k))/(m*n);%算出每级灰度再次出现的概率,将其卡内gp中相应位置
end
subplot(2,2,2),bar(0:255,gp,g)%绘制的直方图
title(灰度直方图)
xlabel(灰度值)
ylabel(直接出现概率)
i2im2bw(i,150/255);
subplot(2,2,3),imshow(i2);
title(阈值150的分割图像)
axis([50,250,50,200]);
gridon;%显示网格线
axison;%显示坐标系
i3im2bw(i,200/255);%
subplot(2,2,4),imshow(i3);
title(阈值200的分割图像)
axis([50,250,50,200]);
gridon;%显示网格线
axison;%显示坐标系
2、不自动阈值法:otsu法
用matlab实现otsu算法:
clcclearalliimread();
subplot(1,2,1),imshow(i);
title(各种图像)
axis([50,250,50,200]);
gridon;%显示网格线
axison;%会显示坐标系
levelgraythresh(i);%考虑灰度阈值
bwim2bw(i,level);
subplot(1,2,2),imshow(bw);
title(otsu法阈值编缉图像)
axis([50,250,50,200]);
gridon;%没显示网格线
axison;%会显示坐标系