gpt4 book ai didi

go - 如何使用go和imagemagick获得图像中的主色

转载 作者:行者123 更新时间:2023-12-01 22:17:26 24 4
gpt4 key购买 nike

我想从png,jpeg,svg等中提取主要颜色。
我已经尝试过此代码,但有时生成的调色板不正确。

// GET image colors
mw.QuantizeImage(5, mw.GetImageColorspace(), 0, imagick.DITHER_METHOD_NO, false)
_, allColors := mw.GetImageHistogram()

for i, c := range allColors {
if i > 4 {
break
}
h, s, l := c.GetHSL()

// "github.com/lucasb-eyer/go-colorful"
cf := colorful.Hsl(h*360, s, l)

result = append(result, cf.Hex())
}

Wich是提取主色的最佳方法吗?

最佳答案

您要遍历所有颜色项并调用(*PixelWand)GetColorCount以确定频率。

mw.QuantizeImage(5, mw.GetImageColorspace(), 0, imagick.DITHER_METHOD_NO, false)
_, allColors := mw.GetImageHistogram()
var (
mostUsedColor *PixelWand
mostUsedCount uint
)
for _, c := range allColors {
count := c.GetColorCount()
if count > mostUsedCount {
mostUsedColor = c
mostUsedCount = count
}
}

关于go - 如何使用go和imagemagick获得图像中的主色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58735783/

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