【问题标题】:finding no.of occurrences of each and every pixel in image using matlab使用matlab查找图像中每个像素的出现次数
【发布时间】:2013-02-09 16:19:42
【问题描述】:

如何找到号码。 RGB 图像中每个像素的出现次数(即每种颜色)??。
我需要存储的图像的每个像素对应于它们的坐标的出现次数......

【问题讨论】:

  • 你的问题不是很清楚。你的意思是直方图?
  • 在彩色图像中,每个像素都将具有红绿蓝值以产生特定颜色..另一个像素也可能具有相同的像素值(即相同的颜色)..所以我想找到每个像素值发生的次数..我使用普通数组实现..它需要很多时间来执行..其他获取发生值的方法
  • 这可以通过首先索引图像、使用地图和创建直方图来完成。你试过什么?

标签: image matlab colors pixel rgb


【解决方案1】:

试试:

maxNoOfColors=1024;
[x,map]=rgb2ind(image,maxNoOfColors);
[counts, histmap] = imhist(x,map);

这将为您提供图像中每种不同颜色的直方图(出现次数)。如果您认为图像中有更多颜色,您可以将数字 1024 放大,最多可使用 65k 种颜色,之后它可以与 bin 一起使用。您可以使用地图将 rgb 值转换为直方图值。

【讨论】:

  • 我是 matlab 新手.. wat 是一个索引图像.. 我执行了你的代码我得到了计数值.. 我怀疑当我使用数组时我得到了一个不同的值.. wat我实际上使用数组是..我存储在二维数组中为.. a[:,1]=red values a[:,2]=green a[:,3]=blue intensities 并且我在具有的行之间进行了比较相同的红绿蓝值..
  • 索引意味着它只考虑图像中存在的实际颜色,而不是考虑每个 rgb 值(24 位颜色约为 1700 万)。例如,如果 [123,45,212] 存在,它将被索引并计算出现次数。如果没有,那么它根本不会出现在索引中。顺便说一句,您的图像分辨率是多少?这取决于您有多少不同的值(rgb 颜色)。对于超过 65k,它不会给出准确的结果。
猜你喜欢
  • 2020-08-03
  • 2021-03-13
  • 1970-01-01
  • 2016-06-21
  • 2014-04-24
  • 2015-10-29
  • 2021-02-21
  • 1970-01-01
相关资源
最近更新 更多