作者EdisonX (闭上眼的鱼)
站内Prob_Solve
标题[讨论] 256 色调色盘挑选
时间Fri Jul 6 21:43:32 2012
bmp 格式相信很多版友都有经验, 但一些细节小弟想是演算法问题,
不知目前大多是如何处理。
会提出自己想法,讨论性质较重,
一张 800*600, 24 bpp 影像图片,在转存 8 bpp 时,
将造成影像失真发生,调色盘挑用 255 色时,
该如何从 2^24 种颜色中,只选其中之 256 色出来,
针对 bmp 此问,是否已有效果较佳的演算法?
<
其实也纳闷是不是有 Win32 API 可做到这件事 >
能想到的是 clustering algorithm, 如 KMean ,
K = 256, Dim = 3, DataCnt = 800*600 < 还没实作便是 >
另若原影像为 8 bpp (256) 转存 4 bpp (16) , 是否也为一样的做法?
也是 KMean 下手吗?
想到之方式是统计这 256 色里, 使用率最高的前 16 种颜色 (令其集合为 C),
而其他之 240 种颜色 (令集合为 S)
计算 min distance(Ci,Sj) , (可用 SSE 计算),
便可算出原本之 240 种颜色会对应到哪 16 种颜色
(在想这样显示出来效果应没 KMean 好)
另即使采用 clutering algorithm, 针对此问是否有较合适之 algorithm ?
谢谢不吝回覆。
--
「自从我学了 C# , 人都变聪明 , 考试都考一百分」
「自从我学了 VB , 皮肤都变好 , 人也变漂亮了 」
「自从我学了 Java , 明显变壮 , 个子也变高了 」
「自从我学了 C++ , 内分泌失调 , 头都秃了... 」
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.177.76.161
※ 编辑: EdisonX 来自: 180.177.76.161 (07/06 21:44)
1F:→ kilfu0701:median-cut (?) 07/09 11:12
2F:→ EdisonX:原来有方法了,谢谢楼上给的 keyword,感恩。 07/09 15:35