gpt4 book ai didi

c - 使用从 OpenCV 中的直方图生成的值来屏蔽图像数据

转载 作者:太空宇宙 更新时间:2023-11-03 21:06:31 25 4
gpt4 key购买 nike

鉴于我从图像中获得的生成直方图,我想知道是否有任何优化的方法来生成掩码。下面我添加了 3 个不同的图像:要使用的引用、引用的直方图数据和我想屏蔽的主图像。我知道我可以对每个像素执行此操作,并按一定百分比改变颜色信息,这样我也可以获得随光照变化而变化的颜色。

基本思想是根据直方图数据在一定范围内找到一种颜色,如果找到任何颜色,则将其设为黑色。如果它没有找到任何东西,那么颜色将为白色。

如有任何建议,我们将不胜感激。

引用图片:

1-UP

直方图值:

Histogram

要 mask 的图像:

Logo

最佳答案

你想要的是在一定范围内遮盖颜色,这是你应该尝试使用我在此处发布的代码的方法:在我的例子中,它是用来让它变透明的,如果你想让它变黑,就跳过cvNot()这一步...

Making a color completely transparent in OpenCV

希望对您有所帮助,朱利安

PS:我刚刚看到你是问我回答的关于如何使颜色透明的问题的人:这里的问题是完全一样的......只是稍微调整一下答案......

  • 1) 转换图像 RGB -> HSV :cvtColor()
  • 2) 生成直方图:calcHist()
  • 3) 在您的 Hue 直方图中找到最大值:minMaxLoc()
  • 4) 选择围绕这个最大值的阈值:您的函数
  • 5) 使用它们只选择您想要的颜色:inRange()
  • 6) 将此蒙版设为黑色:您的函数(一种非常简单的方法是移除蒙版上的所有 RGB 组件):您的函数

关于c - 使用从 OpenCV 中的直方图生成的值来屏蔽图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7032799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com