该程序采用颜色或单色图像,并通过滑位器交互/手动阈值,或者通过滑块进行彩色图像的单色频带,以设定最大和最小阈值。阈值图像是二进制图像,其可以用作其他图像的掩模图像。阈值范围中的像素在中间图像中示出为二进制图像(黑/白色),并且在左图像(灰度或颜色)中屏蔽原始图像像素。输入是从和图像文件名或图像矩阵开始的低阈值和高阈值。该程序返回用于选择阈值的阈值和最后一个色带。图像可以是整数类型(UINT8,UINT16等)或浮点(单,双)。
图像分析师(2021)。阈值图像(//www.tatmou.com/matlabcentral/fileexchange/29372-thresholding-an-image), MATLAB中央文件交换。检索.
Avm,你可以把你调用它的行放到你的主程序中,在你读了你的映像之后。看门限顶端的彗星。M文件来查看一些示例调用。用其中一个。
如何使用和调整代码?我并不肯定在哪里开始
超级! !
你好Image Analyst,你能提供自动检测最小和最大阈值的部分吗?
谢谢你!
嗨图像分析师,我删除了命令行,但我用值替换它。当我运行编码时,结果出来了。是否有可能 ?非常感谢你帮助我。愿上帝永远保佑你。
alhaa,当您称之为您所做的功能时,您需要确保将某些东西分配给Variables LightLowthreshold,StateHighthreshold和Imagetothreshold。如果您没有定义它们,Matlab不知道该传递功能。如果您仍然遇到麻烦,我们可以在Matlab Central的答案社区论坛中通过它(见上面的下拉链接)。
hi Image Analyst,我运行了演示代码,但是命令行[lowThreshold, highThreshold] = threshold(startingLowThreshold, startingHighThreshold, imageToThreshold);,它有错误。为什么?
rida,你可以做
binaryImage = grayScaleImage > somvalue;%例如,someValue = 150或其他值。
我只需要手动设置阈值的部分代码,而不是基于GUI。你能提供给我吗?
你好图像分析师,
这是一个与阈值有关的问题。我已经使用了你的示例代码的头骨剥离MRI,它工作得很好-谢谢你!然而,我发现,对于轴向面或矢状面的前几片切片提出解决方案是非常具有挑战性的,在那里颅骨的外缘被保存下来,而不是脑组织的小切片。您是否介意分享一些联系方式,以便我将我的代码或样本(john.a.thompson@ucdenver.edu)发给您?对于图像处理功能或策略,你有什么建议吗?谢谢!
最好,
约翰
你好,
谢谢你分享密码。我与布鲁克一起工作,在一开始,它有点不同,但我没有成功,并找到如何保存蒙版(二进制图像)创建的阈值函数。B = dir (* . png);这个命令不够用。我想我漏了一点。
谢谢你!
你是天才还是什么?
大家好,非常感谢您分享这个伟大的代码。如何保存二进制图像?
嗨,这可以用来检测纹理并从图像中提取它吗?
示例见此图像。我试着将橱柜所在的地板区域分割开来,并保持边界
//www.tatmou.com/matlabcentral/answers/uploaded_files/138972/12.jpg
谢谢你的这个方便的工具。
无与伦比的代码。你确实很棒.....
Tian Tian,您编写代码,并将图像作为输入参数列表中的变量传递给threshold函数,当您从主程序调用该函数时。
感谢您分享这一优秀计划。我可以咨询你一个问题吗?我应该打开窗口并导入我的图像吗?如何将图像导入窗口?
谢谢。
首先,祝贺优秀的计划。我想插入一个缩放按钮,但是当我用工具栏编辑器这样做时,它没有工作,它也很有趣,也是3张图像的变焦同步。
谢谢,这段代码真的很有帮助!继续干得好!
如何改变图像的路径
亲爱的图像分析,
这个工具令人印象深刻。我可以知道你遵循了哪篇论文来实现这个代码吗?谢谢你!
这与Matlab R2013a工作吗?
优秀的工作。有没有可能不显示GUI,而只是返回最大值和最小值?
您应该考虑在图像分析上准备MOOC。我肯定会买它。谢谢..
太棒了! !
我看到了你对他人提出的问题的评论,总是他们非常有用。投票给你的答案。
它真的很好,非常有帮助。非常感谢你。
我有个问题,
如何使用自适应检测方案对灰度图像进行精确的边缘检测?我说的不是使用传统的边缘阈值方案。
1.它如何执行阈值来消除噪声。
2.它如何能自适应阈值0-255在每个像素不转换成二值图像?
我想检查有很多细节的图像上的性能。
请举例说明。
好…
1.良好的布局。
2. GUI确实究竟声称做了什么。
3.几乎令人难以置信——这里有一个注释良好的代码示例。我发现现在代码中缺乏好的注释令人震惊。给所有的程序员:注释你的代码——它将帮助你或其他用户使用它,并且通常会帮助你在编写代码时有逻辑地结构代码!
好…
谢谢这个精彩的教程。它真的帮助我了解详细的阈值概念,而Matlab代码也很棒。
非常感谢先生!
抱歉,肖恩·德,你介意提到如何解决这个问题吗?Set(..) in threshold。我应该关掉吗?
我有2009b,并提供“监视器”选项。
我发现在demo_script离开set(..)时,您的方式正常工作,然后关闭阈值的设置。这是之前的这样,我可以看到装载的数字加载并看起来很好,然后扩展到我的屏幕宽度上的多次呼叫到set()。
总之,优秀的演示!对于初学者理解阈值是非常有用的。
肖恩,我得承认我没在有两个监视器的系统上测试过。monitorposition似乎是R2010b的新版本(至少他们在2010b帮助中称它为“新”),所以如果我把它放在其中,它将无法为任何使用旧版本的人工作。我考虑过Mathworks推荐的“maxfig”,但我希望它是独立的,不需要下载任何其他代码。如果你有一个修复,将与所有版本,我想看到它,并可能构建它。
呼吁:
设置(GCF,“位置”,获取(0,'屏幕大小'));%放大图形到全屏。
吹到数字上的数字太大而无法在双显示器上做任何事情,因为屏幕尺寸作为两者的大小返回。根属性'MonitorPositions'具有主要和辅助监视器的各个尺寸。