快速业务通道

用C++ Builder对图像进行特殊效果处理

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
的像素新值可能会超出颜色值的有效范围(0-255),所以程序要检验结果的有效性,为此需定义两个函数:

int min(int value1,int value2)
{
if(value1 >value2)return value2;
else return value1;
}
int max(int value1,int value2)
{
if(value1 >value2)return value1;
else return value2;
}

锐化处理的代码如下:

void __fastcall TForm1::btnSharpeClick(TObject *Sender)
{
float degree=0.3;
int red,green,blue;
for(i=1;i<width-1;i++)
  for(j=1;j<height-1;j++)
   {
   red=rgb[i][j].r_color+degree*(rgb[i][j].r_color-rgb[i-1][j-1].r_color);
   green=rgb[i][j].g_color+degree*(rgb[i][j].g_color-rgb[i-1][j-1].g_color);
   blue=rgb[i][j].b_color+degree*(rgb[i][j].b_color-rgb[i-1][j-1].b_color);
   red=min(255,max(0,red));
   green=min(255,max(0,green));
   blue=min(255,max(0,blue));
   bitmap->Canvas->Pixels[i][j]=RGB (red,green,blue);
   }
  Image1- >Picture- >Bitmap- >Assign(bitmap);

四、图像的浮雕效果实现

浮雕效果就是只将图像的变化部分突出出来,而相同颜色部分则被淡化,使图像出现纵深感,从而达到浮雕效果,这里采用的算法是将要处理的像素取值为与处于对角线上的另一个像素间的差值,这样只有颜色变化区才会出现色彩,而颜色平淡区因差值几乎为零则变成黑色,你可以通过加上一个常量来增加一些亮度:new_value=difference+const_value,具体代码如下:

void __fastcall TForm1::btnEmbossClick(TObject *Sender)
{
int red,green,blue;
const int const_value=128;
for(i=0;i< width-2;i++)
  for(j=0;j< height-2;j++)
   {
   red=abs(rgb[i][j].r_color-rgb[i+1][j+1].r_color+const_value);
   green=abs(rgb[i][j].g_color-rgb[i+1][j+1].g_color+const_value);
   blue=abs(rgb[i][j].b_color-rgb[i+1][j+1].b_color+const_value);
   bitmap->Canvas->Pixels[i][j]=RGB(red,green,blue);
   }
Image1- >Picture- >Bitmap- >Assign(bitmap);
}

上面介绍了图像处理中的几个常见操作,所采用的算法相对比较简单,感兴趣的朋友可以举一返三,通过改进上述算法,达到更好的特殊效果。以上代码在C++ Builder6、Win2000下编译、运行通过。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号