【发布时间】:2017-08-10 05:44:39
【问题描述】:
我有一张灰度图像,我需要从中找到最亮的 0.1% 像素。
我尝试在 0.1% 的像素上使用 max 函数,但它没有给我正确的结果。
代码:
[m,n]=size(image);
num_pixels=m*n;
pixels=floor(num_pixels*0.01)
在这里,我的变量 pixels 中有 7000 个数字。我不知道如何对这 7000 个像素进行排序,因为它只是给我一个计数。我需要得到这个计数的所有像素值。
任何人都可以建议如何在 MATLAB 中执行此操作。
【问题讨论】:
-
按照第一个猜测,为什么不按值对像素进行排序,取最高的 0.1% 像素?
-
我的代码是这样的:[m,n]=size(image); num_pixels=m*n;pixels=floor(num_pixels*0.01);.在这里,我的可变像素中有一些 7000 数字。现在我不知道如何对这 7000 像素进行排序,因为它只是给我一个计数。我需要得到这个计数的所有像素值。如何获取所有像素值。
-
如果您尝试过一些代码,请将其放在原始问题中。
-
首先线性化您的矩阵
image,然后对image进行排序(降序)并仅取起始1 到pixels值。这些将是具有最高亮度的 0.1% 像素。 -
您只需要这些像素的值,还是还需要位置?
标签: arrays matlab image-processing