opencv python颜色减少量化

jgovgodb  于 2023-11-22  发布在  Python
关注(0)|答案(1)|浏览(118)

我正在寻找一种方法来减少颜色在一个聪明的方式,保留罕见的色调。
例如,如果你拿宇航员的图像,并添加一个小方块的明亮和不同的色调(绿色在这种情况下)。颜色会丢失,如果你减少到一定数量的颜色。它有256种颜色,但丢失了32种颜色(见树图)。
x1c 0d1x的数据




有太多的方式非常相似的颜色和色调的橙子和灰色的减少。(即使在32色,我不需要)。
所以我想知道是否有一种在色调差中加权的色调保持颜色减少。我试过许多库,但没有一个擅长这个。这是Imagemagick。
还是我必须自己执行?
可能是这样的:

  • 减少到256色(这几乎适用于所有图像,较小的数据)
  • 循环通过颜色和比较,并挑选出相当相似的颜色与CIEDE 2000 DeltaE
  • 从PIL获取剩余的唯一颜色
  • 转换为HSV颜色模型
  • 用特定的箱制作直方图(色调0 - 10为红色,11 - 30为橙子.)
  • 再次循环通过颜色并将可接受的颜色距离Δ E增加到一定量
  • 但是如果比较的颜色超过直方图箱边界,

我不知道如何检查直方图边界。

ikfrs5lh

ikfrs5lh1#

在Imagemagick中,你可以尝试-mean-shift。它同时考虑了位置和颜色。参见https://legacy.imagemagick.org/discourse-server/viewforum.php?f=4&sid=77516589270dc747fbc7cba3197a79c4
这里有两个结果。

convert astronaut.jpg -mean-shift 21x21+10% y.png

字符串
x1c 0d1x的数据

convert astronaut.jpg -mean-shift 51x51+10% z.png



如果这是你想要的,OpenCV也有一个meanShift。https://docs.opencv.org/4.1.1/dc/d6b/group__video__track.html#ga432a563c94eaf179533ff1e83dbb65ea

相关问题