社区
机器视觉
帖子详情
真彩图转256色?
rwx_tech
2005-05-31 01:42:50
有什么好的算法没有? 我做出来效果失真很严重, 大家都是怎么做的?
先是找用的最多的256种颜色, 然后再把其他的颜色用这256种颜色种最接近的代替, 这样需要2次遍历象素数据, 计算量也蛮大的. 如果考虑误差扩散, 更麻烦
...全文
257
18
打赏
收藏
真彩图转256色?
有什么好的算法没有? 我做出来效果失真很严重, 大家都是怎么做的? 先是找用的最多的256种颜色, 然后再把其他的颜色用这256种颜色种最接近的代替, 这样需要2次遍历象素数据, 计算量也蛮大的. 如果考虑误差扩散, 更麻烦
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lauyee
2005-06-23
打赏
举报
回复
主要还是配色方案的问题
rwx_tech
2005-06-18
打赏
举报
回复
如果你要通过几张真彩图制作GIF动画, 转成256色是不可避免的,而且还有几张图调色板合成的问题
WhiteWizard
2005-06-17
打赏
举报
回复
只会转灰度。。。
summer54
2005-06-16
打赏
举报
回复
UP
primen
2005-06-15
打赏
举报
回复
用ACDSEE,你看看它做出来是什么效果。
一般真彩转成256色,最好不要转成彩色,转成灰度图。
建议看<<WINDOW编程>>调色板
mynetpc
2005-06-12
打赏
举报
回复
r=g=b = (r+g+b)/3
ehom
2005-06-11
打赏
举报
回复
>>真彩转成256色,一定是很难看得
真彩转成256色,效果还是可以接受的,不少情况下很难感觉有区别
ehom
2005-06-11
打赏
举报
回复
八叉数量化+误差扩散 效果是可以接受的,就是太慢,代码MSDN里就有。
rwx_tech
2005-06-08
打赏
举报
回复
因为16M色减色为256色后, 原图中过度的地方就会出现问题, 某点RGB(120,120,120), 减色处理(取高4位)则为(120/16 * 16, ...)=(112, 112, 112), 就有个8的误差, 如果能够对周围的点进行补偿, 效果会好一点, 我现在想问各位对于这样的问题有什么好的办法?
你可以看看把一幅有过度色的24位图用MS的画笔转成256就知道了
zzwu
2005-06-08
打赏
举报
回复
你指的“误差扩散“是什么?
我的步骤中只有量化过程,会引起误差,这是不可避免的。毕竟你只有256色,而实际有16m色。
rwx_tech
2005-06-07
打赏
举报
回复
误差扩散怎么实现呢?
zzwu
2005-06-05
打赏
举报
回复
另有一种不需要对图像进行预扫描的办法是:
把RGB原有的0-255的256个等级分别量化为6个等级,每个等级的差为|255/6|=43,
即原来为(r,g,b),就用(|r/43|,|g/43|,|b/43|)来代,
这样一来,可能出现的颜色总数为6*6*6=216,它<256。
当然,图像质量是大大打折扣了,
但如果原来的图像色彩丰富,并经过autolever处理,这样得到的图像应该还行。
Android
2005-06-01
打赏
举报
回复
用gdi的bitblt呀,会自动转化颜色类型的,到时再把DDB转成DIB就OK了
coolbacon
2005-05-31
打赏
举报
回复
楼主说的计算量也不是很大.如果你用更好的算法,只怕算法的复杂度和时间都很高.
统计颜色用好的算法和差的算法所花的时间是不一样的.
首先我谈谈如何快速的统计颜色,一般来说,一幅图像的大小为MxN,那么它的颜色不可能超过MxN种,如果要查找这么多种颜色,肯定速度很慢,那么,一种颜色只有一个灰度级别,共有256个灰度级别,那么只要将颜色的灰度级做为索引,两种颜色,只有灰度相同才可能相同,建立256个链表,每一个对应一个灰度级,相同灰度的像素在链表中比较,发现相同则不入表,不相同就入表.速度大幅度提高.
另外,楼主用的方法不是最好的,好的方法可以用色彩压缩这个关键字搜索一下论文库.可以找到很多相关的论文,K-均值,最小准则法,概率居类法等,都要很多次遍历数据,但是一般在两三秒内都能给出结果.如果楼主的程序不能在2-3s内给出结果,要考虑是不是数据结构和计算策略出了问题.
rwx_tech
2005-05-31
打赏
举报
回复
能讲讲原理,算法么?
minideveloper
2005-05-31
打赏
举报
回复
加点抖动会好一些
Jackie
2005-05-31
打赏
举报
回复
freeimage cximage library
Tranquillo
2005-05-31
打赏
举报
回复
真彩转成256色,一定是很难看得
真
彩图
转
256
色
图思路
我们知道,用一般的图形
转
换工具来把
真
彩图
转
换成
256
色
的图得到的效果一般都很令人不满。那是因为
真
彩图
中包含最多达2^24种颜
色
,怎样从中选出
256
种颜
色
,又要使颜
色
的失
真
比较小,这是一个比较复杂的问题。
八叉树
色
彩量化源码(16bit
转
256
色
)
16bit(565)
转
成
256
色
图像。 用法: OctreeQuantize quantize;;;;;;;; quantize.Chg16bitTo
256
( pwImgBuf, width, height, pitch );;;;;;;;// 要求pitch是偶数,pitch不用我解 释了吧 quantize中的m_pPal和m_pbyIndexedImg就分别指向
256
色
调
色
板(565格式)和8位的索 引图像(不带pitch)。 释放这两个内存是你自己的工作。 效果还可以,也够快,300×200的图像需要60ms。 我没用dither,也不知道dither怎么用到
彩图
上。哪位知道的来讲讲。 原本想从网上找一个现成的,找了一天也没找到。头痛,后来还是通过csdn上的一个老帖子的链接找到了这个算法的介绍。 国内可供利用的源码太少了(无聊的源码一大堆,都不能用,最没劲)。
真
彩位图
转
化成
256
彩
色
或黑白位图的代码
可将
真
彩位图
转
化成
256
彩
色
或黑白位图,处理效果还可以~
计算机图形
256
转
黑白部分实现代码
一些简单的计算机实现工具,此物主要用来实现
彩图
像灰度的
转
换。
数字图像处理
超好的,数字图像处理讲解,讲解细致。目录如下: 第1章 Windows位图和调
色
板 2 1.1 位图和调
色
板的概念 2 1.2 bmp文件格式 4 1.3 显示一个bmp文件的C程序 8 第2章 图象的几何变换 18 2.1 平移 18 2.2 旋
转
28 2.3 镜象 37 2.4
转
置 41 2.5 缩放 44 第3章 图象的平滑(去噪声)、锐化 49 3.1 平滑 49 3.2 中值滤波 53 3.3 锐化 58 第4章 图象的半影调和抖动技术 63 4.1 图案法 64 4.2 抖动法 69 4.3 将bmp文件
转
换为txt文件 75 第5章 直方图修正和彩
色
变换 80 5.1 反
色
80 5.2 彩
色
图
转
灰度图 85 5.3
真
彩图
转
256
色
图 91 5.4 对比度扩展 100 5.5 削波 106 5.6 阈值化 107 5.7 灰度窗口变换 108 5.8 灰度直方图统计 110 5.9 灰度直方图均衡化 115 第6章 腐蚀,膨胀,细化算法 123 6.1 腐蚀 125 6.2 膨胀 132 6.3 开 138 6.4 闭 140 6.5 细化 141 第7章 边沿检测与提取,轮廓跟踪 149 7.1 边沿检测 149 7.2 Hough变换 152 7.3 轮廓提取 158 7.4 种子填充 161 7.5 轮廓跟踪 170 第8章 图象的检测及模板匹配 177 8.1 投影法 177 8.2 差影法 183 8.3 模板匹配 188 第9章 图象的压缩编码,JPEG压缩编码标准 188 9.1 哈夫曼编码 190 9.2 行程编码 192 9.3 LZW算法的大体思想 201 9.4 JPEG压缩编码标准 201
机器视觉
4,446
社区成员
15,335
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章