• 图像的浮雕处理效果


    原理:

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

    实例:

      

    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;

  • 相关阅读:
    django Highcharts制作图表--显示CPU使用率
    django--ajax的使用,应用
    Selenium&Pytesseract模拟登录+验证码识别
    django Highcharts制作图表--显示CPU使用率
    django--ajax的使用,应用
    斗鱼直播招聘测试总监
    腾讯自动化测试的AI智能
    转载Linq中GroupBy方法的使用总结
    转载.NET 4.0中的泛型的协变和逆变
    转载c#泛型 类型参数的约束(c#编程指南)
  • 原文地址:https://www.cnblogs.com/huking/p/1704996.html
Copyright © 2020-2023  润新知