用Visua C++6.0为图像增加彩色滤镜
2008-11-14 19:36:00 来源:WEB开发网1 引言
近年来,在众多的艺术类照片中,逐渐出现了一种复古趋势,即好多年轻人喜欢故意把照片作旧,并美其名日:"复古照"。事实上,这类照片利用数字图像处理技术可以很容易地实现,本文首先对这一图像处理的特殊效果的原理进行了简单介绍,然后利用VC++6.0逐步给出了具体的实现过程,最后给出了一个例子及程序运行得到的不同风格的图像系列。
2 图像色彩滤镜原理--伪彩色编码
为图像添加色彩滤镜在数字图像处理领域的名称为伪彩色编码。它是通过把灰度图像或黑白图像赋予特殊的调色板来实现的。我们知道,对于灰度图像,其RGB值均相等,即对于图像中的任意一个象素,其红色分量取值=绿色分量取值=蓝色分量取值。
256级灰度图的一般码表为:
{ // 常规灰度编码
{ 0, 0, 0 }, { 1, 1, 1 }, { 2, 2, 2 }, { 3, 3, 3 } , //4
{ 4, 4, 4 }, { 5, 5, 5 }, { 6, 6, 6 }, { 7, 7, 7 }, //8
{ 8, 8, 8 }, { 9, 9, 9 }, { 10, 10, 10 }, { 11, 11, 11 }, //12
{ 12, 12, 12 }, { 13, 13, 13 }, { 14, 14, 14 }, { 15, 15, 15 }, //16
{ 16, 16, 16 }, { 17, 17, 17 }, { 18, 18, 18 }, { 19, 19, 19 }, //20
{ 20, 20, 20 }, { 21, 21, 21 }, { 22, 22, 22 }, { 23, 23, 23 }, //24
… … … …
{ 228,228,228 }, { 229,229,229 }, { 230,230,230 }, { 231,231,231 }, //232
{ 232,232,232 }, { 233,233,233 }, { 234,234,234 }, { 235,235,235 }, //236
{ 236,236,236 }, { 237,237,237 }, { 238,238,238 }, { 239,239,239 }, //240
{ 240,240,240 }, { 241,241,241 }, { 242,242,242 }, { 243,243,243 }, //244
{ 244,244,244 }, { 245,245,245 }, { 246,246,246 }, { 247,247,247 }, //248
{ 248,248,248 }, { 249,249,249 }, { 250,250,250 }, { 251,251,251 }, //252
{ 252,252,252 }, { 253,253,253 }, { 254,254,254 }, { 255,255,255 }, //256
}//规律:R=G=B=i, for i=0 to 255
3 编程部分
- ››Visual Basic 2008 数学函数
- ››Visual Studio2005中Smart Device的问题
- ››Visual Studio 中根据数据库字段动态生成控件
- ››增加VMware虚拟机的磁盘空间
- ››Visual Studio 11全新黑色主题
- ››Visual Studio 2011 Beta新特性(一):安装VS201...
- ››增加网站流量的方法
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››增加社区模式下板块的显示数量
- ››Visual C++优化对大型数据集合的并发访问
赞助商链接