从 HSV 直方图中获取主色值

2024-02-27

我正在根据如下图像创建 HSV 直方图。

- (void)processImageWithHsv:(Mat&)image;
{
    Mat image_hsv;

    cvtColor(image, image_hsv, CV_BGR2HSV);

    int hbins = 50, sbins = 60;
    int histSize[] = {hbins, sbins};

    float hranges[] = { 0, 360 };
    float sranges[] = { 0, 256 };

    const float* ranges[] = { hranges, sranges };
    MatND hist;

    int channels[] = {0, 1};

    calcHist( &image_hsv, 1, channels, Mat(), // do not use mask
             hist, 2, histSize, ranges,
             true, // the histogram is uniform
             false );

    double maxVal = 0;
    minMaxLoc(hist, 0, &maxVal, 0, 0);

    // ???: HOW Convert this information to colour value

}

但我不知道从中获得最主要的颜色值hist? 我应该使用maxVal?


你犯了一些错误:

  1. 您正在寻找主色value但你告诉calcHist处理色调和饱和度。你应该换个频道。
  2. Your hranges错误的是:应该是180。
  3. dims应该是 1 (而不是 2),因为你只需要value直方图。

经过这些修正后maxVal应包含最重复出现的value value.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 HSV 直方图中获取主色值 的相关文章

随机推荐

  • 测试 FormArray

    我有一个PhoneNumbersFormComponent其模板如下所示 div div div div
  • 如何编写更新查询来减去某个值?

    在 sql 查询中准备语句的情况下 这是执行减法运算的正确方法吗 sql UPDATE users set credits credits price WHERE username 根据 price 的值减去用户积分的代码 price ro
  • Rmarkdown/knitr subfigure 不同的图形尺寸

    我试图在 Rmarkdown 中实现子图的不同高度和宽度 我希望只是提供fig height and fig width每个向量都可以工作 因为这似乎确实适用于out height and out width title Untitled
  • 从自定义属性修饰的属性中获取价值?

    我编写了一个自定义属性 用于类的某些成员 public class Dummy MyAttribute public string Foo get set MyAttribute public int Bar get set 我可以从类型中
  • Java Swing - 从另一种方法设置 Jlabel 文本

    我对 Java 和 Swing 还很陌生 我正在使用 Windowbuilder 来尝试我的一些 GUI 想法 但在尝试设置 Jlabel 的文本时遇到了问题 Windowbuilder 在initialize 方法中自动创建了一个名为pa
  • Java 构造函数链接 [重复]

    这个问题在这里已经有答案了 你好 我刚刚学习 Java 中的构造函数链 并且有一些问题 首先 有人可以解释一下我什么时候需要使用这个吗 我真的无法想象出一种情况 在此示例中 在没有参数的构造函数中 我调用另一个构造函数 我如何访问这个新的
  • bitbucket 剥离了 git 修订

    推送到 bitbucket 后 我 的同事提交被删除 并且 bitbucket 新闻源上出现一条消息 stripped 6f9de58aa748 from projektA 4 hours ago stripped 54dae89de600
  • Android 本机代码如何针对多种处理器类型?

    据我了解 Android 上的本机代码是直接与特定设备的处理器一起工作的代码 因此 如果我想利用某个处理器 我会使用本机代码 但是 如果我想制作一个包含本机代码但面向多个处理器的应用程序 会发生什么情况 我是否必须制作多个应用程序 每个架构
  • 如何将图像重置到原始位置

    我正在使用 TouchImageView 类 位于https github com MikeOrtiz TouchImageView https github com MikeOrtiz TouchImageView 我使用这个类对我的图像
  • 指定的容器不存在

    我陷入了这个错误The specified container does not exist 让我解释 CloudBlobClient blobStorage GetBlobStorage upload CloudBlockBlob blo
  • 如何隐藏RCP中的默认菜单?

    我是 Eclipse RCP 插件开发的新手 我用自己的视角编写了一个插件 并在其中添加了视角特定的菜单 我的问题是如何隐藏 Eclipse 中提供的默认菜单 例如 编辑 导航 搜索 项目 我尝试使用 并提出我的观点具体条件 以及菜单贡献
  • 未搜索SBT maven本地存储库

    我想从本地 Maven 存储库加载一些库 我已经配置了 sbt 0 13 plugins plugins sbt resolvers Resolver sonatypeRepo snapshots resolvers Resolver ma
  • Swift - 如何使用 XIB 文件创建自定义 viewForHeaderInSection?

    我可以像下面这样以编程方式创建简单的自定义 viewForHeaderInSection 但我想做更复杂的事情 可能与不同的类连接并像 tableView 单元格一样访问它们的属性 很简单 我想看看我在做什么 func tableView
  • 禁用 WebView 中的可选链接

    我有一个webView包含在一个scrollView 然后一切都包含在一个viewPager 当我跳到下一个视图页面时 页面中间的链接将被聚焦 文本周围以橙色突出显示 这会导致页面跳转到最近的链接 有没有办法禁止链接在触摸时聚焦 我已经尝试
  • 在Excel中计算不同值 - 频率函数

    我的任务是计算 Excel 中某一列中不同字符串的数量 后来快速谷歌搜索发现了以下公式here http office microsoft com en us excel HP030561181033 aspx Count 20the 20
  • 升级编译sdk版本后findViewById出错

    升级后编译SDK版本26 全部findViewById显示错误 没有足够的信息来推断 fun 中的参数 T findViewById id Int T 这是因为从 Android O 开始 我们不需要强制转换它 有几种选择 代替 val t
  • 我可以在同一台计算机上安装两个不同版本的 Visual Studio 吗?

    我可以在同一台计算机上安装 Visual Studio 2005 和 2010 吗 会造成什么问题吗 是的 你可以这样做 我在一台机器上安装了VS 2005 2008和2010 它们都是独立工作的 但是 在此之前 请记住 低版本制作的项目只
  • 如何重定向到 404 上的特定网址

    error 404 def error404 error return Nothing here sorry 这是响应404的方式bottle framework 但是在 404 上我想重定向到特定的 url 说http abc com h
  • 为什么不能创建抽象类的对象?

    这是我脑海中的一个场景 我用谷歌搜索了很多 但得到了像这样的答案 抽象类没有实现方法 所以我们无法创建对象 抽象 一词指示编译器不要创建该类的对象 但是在一个简单的类中 我们拥有所有虚拟方法 能够创建对象 此外 我们可以定义不同的访问权限来
  • 从 HSV 直方图中获取主色值

    我正在根据如下图像创建 HSV 直方图 void processImageWithHsv Mat image Mat image hsv cvtColor image image hsv CV BGR2HSV int hbins 50 sb