Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB中的图像阈值化_Matlab - Fatal编程技术网

MATLAB中的图像阈值化

MATLAB中的图像阈值化,matlab,Matlab,如何基于最佳阈值将输入的灰度图像转换为二值图像,该阈值是图像在matlab中的最大和最小强度的平均值?这样做非常简单: th=mean([max(img(:)) min(img(:)])) % mean of max-min gray values BWimg=img>th; 然而,仅就您的信息而言,有不同的“最佳阈值”,在图像处理中最常见的是 您可以通过以下操作在matlab中获得该值: th=graythresh(img) 文档:+1您可以用更简单的BWimg=img

如何基于最佳阈值将输入的灰度图像转换为二值图像,该阈值是图像在matlab中的最大和最小强度的平均值?

这样做非常简单:

th=mean([max(img(:)) min(img(:)]))  % mean of max-min gray values

BWimg=img>th;     
然而,仅就您的信息而言,有不同的“最佳阈值”,在图像处理中最常见的是

您可以通过以下操作在matlab中获得该值:

th=graythresh(img)

文档:

+1您可以用更简单的
BWimg=img>th替换两行
BWimg
@LuisMendo是的,我知道,只是op似乎对Matlab有点困惑,所以我想让它变得简单。但是,shorter==通常更容易,所以我编辑我的答案,即使
意思是
也有点过分了。我只需将这两个值相加,然后除以2,因为这就是平均值。调用
意味着
会产生额外的错误检查开销,所以我只需要加上并除以2。否则,答案很好@是的,我的错。答案的第一个版本使用了所有像素的平均值,我想op希望如此。当然,对于2个值的平均值,不需要函数
binary_img = gray_scale_img > mean([maximum_intensity,minimum_intensity]);