无限精彩,DreamflyIT世界!

有一种执著叫坚持,有一种梦想叫超越!

导航

图像处理之入门篇

Posted on 2006-07-17 12:33  韦忠波  阅读(279)  评论(0编辑  收藏  举报

先看效果:

处理后:

代码如下:
Color c1=new Color();
       Color c2=new Color();
      Color  c3=new Color();
   Color c4=new Color();
   int rr,gg,bb,r1,r2,r3,r4,fxr,fyr,i,j;
   int g1,g2,g3,g4,fxg,fyg,b1,b2,b3,b4,fxb,fyb;
   Bitmap box1=new Bitmap(openImage.Image);
   for(i=0;i<openImage.Image.Width-2;i++)
   {
    for(j=0;j<openImage.Image.Height-2;j++)
    {
     c1=box1.GetPixel(i,j);
     c2=box1.GetPixel(i+1,j+1);
     c3=box1.GetPixel(i+1,j);
     c4=box1.GetPixel(i,j+1);
     r1=c1.R;
     r2=c2.R;
     r3=c3.R;
     r4=c4.R;
     fxr=r1-r2;
     fyr=r3-r4;
     rr=Math.Abs(fxr)+Math.Abs(fyr)+128;
     if(rr<0)rr=0;
     if(rr>255)rr=255;
     g1=c1.G;
     g2=c2.G;
     g3=c3.G;
     g4=c4.G;
     fxg=g1-g2;
     fyg=g3-g4;
     gg=Math.Abs(fxg)+Math.Abs(fyg)+128;
     if(gg<0)gg=0;
     if(gg>255)gg=255;
     b1=c1.B;
     b2=c2.B;
     b3=c3.B;
     b4=c4.B;
     fxb=b1-b2;
     fyb=b3-b4;
     bb=Math.Abs(fxb)+Math.Abs(fyb)+128;
     if(bb<0)bb=0;
     if(bb>255)bb=255;
     Color cc=Color.FromArgb(rr,gg,bb);//由颜色分量值创建Color结构
     box1.SetPixel(i,j,cc);
     openImage.Refresh();
     openImage.Image=box1;