如何在不使用for循环的情况下计算图像中像素强度的出现次数?

莫莫

我要编写一个用于直方图均衡化的脚本,我需要分别在每个 RGB 平面上工作。在第一步中,我计算每个强度值在 0-255 范围内的出现次数。据我所知,使用for循环会使 MATLAB 代码超慢。这就是我想出的:

org_image = imread('image.jpg')
tot_pixel = size(org_image,1) * size(org_image,2)
R = org_image(:,:,1);
G = org_image(:,:,2);
B = org_image(:,:,3);
[R_val_ocurr,R_unique_val] = histcounts(R);
[G_val_ocurr,G_unique_val] = histcounts(G);
[B_val_ocurr,B_unique_val] = histcounts(B);

现在有一个大小为 256 的数组,每个索引保存与其对应的像素数,下一步应该是什么?我正在尝试写下我的逻辑:

for i = 0 to 255 
    if i is in R_unique_val
        hist[i] = R_val_ocurr[i]
    else
        hist[i] = 0

如何在 MATLAB 中正确有效地编写它?

安德里亚·贝利兹

分离通道后,您可以使用imhist获取每个通道的直方图:

[NumberOfPixelR, intensity] = imhist(R);
[NumberOfPixelG, intensity] = imhist(G);
[NumberOfPixelB, intensity] = imhist(B);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用 for 循环 JS 的情况下统计对象键的出现次数

如何在不使用任何循环的情况下计算字符数组中字符的长度?

如何在不使用 GROUP BY 的情况下计算购买次数?

如何在不使用某个特定项目之后出现的项目的情况下,在不使用python方法的情况下计算列表中项目的#of

在不使用循环的情况下计算列表中的时间

如何在不使用循环的情况下计算R中的中间区间百分等级?

如何在不使用for循环的情况下计算此公式

如何在不使用PHP循环的情况下计算多维数组的元素数?

如何在不使用向左浮动的情况下防止居中图像出现换行?

如何在不使用循环的情况下多次打印?

如何在不使用 len() 的情况下使用累积模式计算代码中的字符数?

如何在不使用 Python 中的 exp() 函数的情况下计算 sigmoid 函数?

如何在不使用数组的情况下计算C中的相同字符

如何在不执行两次SQL调用的情况下计算SQL列中特定值出现的次数

如何在不使用任何循环的情况下从PHP中的数组获取偶数键值

如何在不使用break的情况下退出C ++中的循环?

如何在不使用循环的情况下获取std :: array中项目的索引?

如何在不使用循环的情况下将数组转换为Javascript中的对象?

如何在不使用thread.sleep的情况下延迟android中的循环?

如何在不使用for循环的情况下替换数据框中的某些行

我如何在R中不使用for循环的情况下获得相同的结果

如何在不使用循环的情况下获取python beautifulsoup中的特定部分

如何在不使用for循环的情况下从数组列表中删除元素

如何在不使用ram的情况下对pynput中的代码进行循环,这是无限的

如何在不使用for循环的情况下检查列表中的元素?

如何在不使用新的JFrame的情况下更改JPanel中的图像(Repaint()无效!)

在不使用嵌套的 if 和 for 循环的情况下计算矩阵?

如何在不使用Android Studio中任何计算按钮的情况下计算两个数字

如何在不使用循环的情况下有效地在某些数据集中查找给定项目列表的出现次数?