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
矩阵matlab中的阈值_Matlab_Image Processing_Computer Vision - Fatal编程技术网

矩阵matlab中的阈值

矩阵matlab中的阈值,matlab,image-processing,computer-vision,Matlab,Image Processing,Computer Vision,我需要一个快速的方法来执行图像(矩阵)区域的阈值。 输入为矩阵(图像)、阈值和半径, 对于每个像素,我需要检查给定半径内的所有值是否小于阈值,如果是,我需要保存该值(像素)的坐标。 我不想使用双循环,因为我需要使用多个半径多次执行此任务。 我不关心最小值或最大值,只是一个像素周围的所有值都将低于某个阈值。 任何想法都将不胜感激 我不知道圆形邻域的任何快速算法。但是,如果您有矩形邻域,则可以快速执行检查查看此处以了解更多详细信息: 此外,当半径有多个值时,可以提高速度。只需从最小值开始计算结果。

我需要一个快速的方法来执行图像(矩阵)区域的阈值。 输入为矩阵(图像)、阈值和半径, 对于每个像素,我需要检查给定半径内的所有值是否小于阈值,如果是,我需要保存该值(像素)的坐标。 我不想使用双循环,因为我需要使用多个半径多次执行此任务。 我不关心最小值或最大值,只是一个像素周围的所有值都将低于某个阈值。
任何想法都将不胜感激

我不知道圆形邻域的任何快速算法。但是,如果您有矩形邻域,则可以快速执行检查查看此处以了解更多详细信息:


此外,当半径有多个值时,可以提高速度。只需从最小值开始计算结果。对于将来的半径值,如果某个点没有通过前面的某个步骤,请不要对其进行处理,因为在较小的半径中(因此在当前半径中)存在一个大于阈值的点

嗨,我不清楚阈值,它可以随半径变化,所以,我不能为没有从上一级别“通过”的像素留出测试时间。我想创建一个图像大小的遮罩,只在当前窗口中显示一个(我可以在一个方形窗口中创建一个圆,如图:,然后检查image.*mask的和是否小于threshold.*mask。在这种情况下,我不知道如何避免循环。因此,您只需定义一个循环过滤器,然后使用conv2或filter2运行计算和(Matlab内部使用FFT,所以它比嵌套循环实现快得多)。嗨,谢谢,这就是我要做的,编辑你的答案(带注释)我会接受的。你可以用一个圆形结构元素进行膨胀,然后在生成的图像中进行简单的阈值处理。因为问题被标记为
matlab
,我想你对使膨胀速度更快不感兴趣,只是希望
matlab
给出的速度足够快。如果你对此感兴趣的话然后,在可分解性和提高形态学运算效率的相关方法方面有大量的工作要做。