24小时热门版块排行榜    

查看: 2448  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

snifap

新虫 (初入文坛)

[求助] 关于Matlab求孔隙率(找最佳阈值)

我想求一张网片的孔隙率,前提得先找出最佳阈值。我找了有关求最佳阈值的一段程序。但是第1行和第15行没有看懂,能否请教各位高手解释一下。
function num = test(filepath)
imggray = imread(filepath);

subplot(221);
imshow(imggray);
title('原始图像');

imgbw = im2bw(imggray,0.5);
subplot(222);
imshow(imgbw);
title( '使用默认阈值0.5');

imgbw = im2bw(imggray, 0.25);
subplot(223);
imshow(imgbw);
title( '指定阈值为0.25');

level = graythresh(imggray);
num = level * 255;
imgbw = im2bw(imggray,level);
subplot(224);
imshow(imgbw);
title('使用大津法(Otsu)获得阈值');
我如果删掉第1和15行,会弹出一个窗口,包括原图,阈值为0.25,0.5,及最佳阈值的四张图,但是最佳阈值的图下方并没有显示最佳阈值到底是多少?很纠结,希望懂的朋友能替我看一下,谢谢各位了!
回复此楼

» 收录本帖的淘帖专辑推荐

仿真建模与计算 程序语言箱 Porous Materials of Polymer

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

justyet

金虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
level = graythresh(imggray);
num = level * 255;
最佳阈值是num
5楼2013-04-10 21:07:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
snifap: 金币+2, 有帮助 2013-04-26 12:58:34
level = graythresh(imggray);这行最后的分号去了,运行一下command window就能看到输出了(0~255之间的一个数,可以/255转化到0~1之间)

不过这就是个调用简单的图像处理示例程序吧,阀值是用大津法得到的
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-04-10 20:15:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snifap

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by libralibra at 2013-04-10 20:15:14
level = graythresh(imggray);这行最后的分号去了,运行一下command window就能看到输出了(0~255之间的一个数,可以/255转化到0~1之间)

不过这就是个调用简单的图像处理示例程序吧,阀值是用大津法得到的

function num = test(filepath)这句是什么意思啊?
我问一下哦,这个程序不是大律法的算法吗?谢谢你啊!
3楼2013-04-10 20:30:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
snifap: 金币+2, 有帮助 2013-04-26 12:58:46
level = graythresh(imggray);
num = level * 255;
imgbw = im2bw(imggray,level);
---------------------graythresh就是大津法啊
第一句是函数定义
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-04-10 20:39:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见