zoukankan      html  css  js  c++  java
  • 图像的浮雕处理效果

    原理:

      图像的浮雕处理效果就是突出图像中物体,而突出图像中的物体一般是加强物体边界的显示效果。一般采用的方法是:如果两个相邻的像素差别不大,则认为这两个像素在一个物体上,此时可以用一个颜色填充,如果两个相邻像素颜色差别较大则显然不在一个物体上,此时加强边界效果。

    实例:

      

    var
      Form19: TForm19;
      Map1: TBitmap;
    implementation

    {$R *.dfm}

    procedure TForm19.FormCreate(Sender: TObject);
    begin
         OpenDialog1.DefaultExt:=GraphicExtension(TBitmap);
         OpenDialog1.Filter:=GraphicFilter(TBitmap);
         if OpenDialog1.Execute then
         begin
            Map1:=TBitmap.Create;
            Map1.LoadFromFile(OpenDialog1.FileName);
            Image1.Picture.Bitmap:=Map1;
         end;
    end;


    procedure TForm19.Button1Click(Sender: TObject);
    var
      xmax,ymax,i,j:integer;
      r,g,b:integer;

    begin
      xmax:=Image1.Picture.Bitmap.Width-1;
      ymax:=Image1.Picture.Bitmap.Height-1;
      Label1.Caption:='浮雕特效处理中,请稍后...';
      form19.Refresh;

      Progressbar1.Min:=0;
      progressbar1.Max:=xmax;
      progressbar1.Position:=0;
      progressbar1.Step:=1;
      form19.refresh;

      for i:=0 to xmax-1 do
      begin
        progressbar1.StepIt;
        for j:=0 to ymax-1 do
        begin
          r:=GetRValue(Image1.Canvas.Pixels[i,j])-GetRValue(Image1.Canvas.Pixels[i+1,j+1])+128;
          g:=GetGValue(Image1.Canvas.Pixels[i,j])-GetGValue(Image1.Canvas.Pixels[i+1,j+1])+128;
          b:=GetBValue(Image1.Canvas.Pixels[i,j])-GetBValue(Image1.Canvas.Pixels[i+1,j+1])+128;

          if r>255 then r:=255
          else if r<0 then r:=0;

          if g>255 then g:=255
          else if g<0 then g:=0;

          if b>255 then b:=255
          else if b<0 then b:=0;
          Image1.Canvas.Pixels[i,j]:=RGB(r,g,b);

        end;
      end;

      image1.Refresh;
      Label1.Caption:='浮雕特效处理完成...';

    end;

  • 相关阅读:
    mui的相关知识
    4. 本地的json格式调用方法
    DOM树节点的相关知识
    3.函数引用中“值传参”与“引用传参”的区别
    一,数组的创建 数组的遍历
    重载<<
    SendMessage、PostMessage、PeekMessage、GetMessage、PreTreslateMessage等
    TranslateMessage
    怎样在整个类中恒定常量
    格式化输出
  • 原文地址:https://www.cnblogs.com/huking/p/1704996.html
Copyright © 2011-2022 走看看