graythresh(我用matlab自带的kmeans函数聚类一幅遥感图像,聚类结果是一幅灰度图,用graythresh为什么最后的到空白)
本文目录
- 我用matlab自带的kmeans函数聚类一幅遥感图像,聚类结果是一幅灰度图,用graythresh为什么最后的到空白
- 关于graythresh函数的用法
- graythresh函数用法是什么
- matlab graythresh函数内部程序是什么样的这个有代码么
我用matlab自带的kmeans函数聚类一幅遥感图像,聚类结果是一幅灰度图,用graythresh为什么最后的到空白
% 可能是聚类后的图像数据不匹配,用如下代码试试
iidx = uint8(iidx);
level = graythresh(iidx);
imageout = im2bw(iidx,level);
imshow(imageout);
关于graythresh函数的用法
graythresh函数用法:使用最大类间方差法找到图片的一个合适的阈值(threshold)。在使用im2bw函数将灰度图像转换为二值图像时,需要设定一个阈值,这个函数可以帮助我们获得一个合适的阈值。利用这个阈值通常比人为设定的阈值能更好地把一张灰度图像转换为二值图像。
调用格式:
level = graythresh(I)
[level EM] = graythresh(I)
通过计算获得输入图像的阈值,这个阈值在[0, 1]范围内。该阈值可以传递给im2bw完成灰度图像转换为二值图像的操作。
graythresh使用最大类间方差法来获得一个阈值。
graythresh函数用法是什么
graythresh(image)函数输入是一副图像,在图像的变化检测方向就是输入差异图(两幅图像对应位置做差或者做比,或者做对数比),输出就是阈值。在这个函数中,是使用最大类间方差法找到图片的一个合适的阈值(threshold)。再利用im2bw(将灰度图像转换为二值图像)函数,将找到的阈值输入,就可以把原图变为一个二值图。
程序示例如下:
imggray = imread(’cell.bmp’);
subplot(221);
imshow(imggray); title(’原始图像’);
imgbw = im2bw(imggray);
subplot(222); imshow(imgbw);
title( ’使用默认阈值0.5’);
imgbw = im2bw(imggray, 0.25);
subplot(223); imshow(imgbw); title( ’指定阈值为0.25’);
level = graythresh(imggray);
imgbw = im2bw(imggray,level);
subplot(224); imshow(imgbw);
title(’使用最大类间方差法(Otsu)获得阈值’);
由此可见, 如果不使用graythresh函数来获得阈值, 可能需要多次尝试才能获得一个合适的阈值。
matlab graythresh函数内部程序是什么样的这个有代码么
MATLB的函数源程序都存放在MATLAB安装文件夹内的toolbox文件夹下,这些函数都是.m文件,可以用搜索文件的方法搜索函数名找到这个函数的.m文件。 也可以在MATLAB主界面内输入 edit 函数名 ,用M-file Editor打开这个函数的源程序。
更多文章:
10101的原码补码反码(1011 -1011的原码和补码分别是多少)
2024年4月25日 06:05
仓库管理系统论文(论文论文求论文“仓库管理系统论文消防系统论文”管理方面的论文,主要针对“自动化立体仓库消防系统设计)
2024年3月11日 01:45
record两种读音(record 的动词和名词读音一样吗)
2024年6月20日 09:47
perl在文件末尾输入字符(用Perl读入一个文件,然后根据要求在特定行后面添加标记)
2024年7月2日 22:13
determine和decide的区别(Decide和Determine在意义和用法有有何区别请举两个例子对比说明,谢谢)
2024年7月5日 21:07
oracle列名命名规则(oracle 表名和列名都是大写)
2024年7月19日 02:05
迅睿cms仿站教程(对比同行CMS程序,迅睿CMS有哪些优势)
2024年6月30日 11:21
matlab 极坐标(怎么在matlab里编一个程序,把直角坐标的点 转换成 极坐标的点)
2024年6月13日 21:45