• 直方图均衡子函数


    procedure   TForm1.nteEqualize(bmp:Tbitmap);  
      var  
          lTemp,i,j:longint;  
          bMap:array[0..255]   of   byte;//   灰度映射表   
          lCount:array[0..255]   of   integer;//   灰度映射表  
          p:   pbyteArray;  
          lheight,llongint;  
      begin  
          lheight:=bmp.Height;  
          l=bmp.Width;  
          bmp.PixelFormat:=pf8bit;  
          for   i:=0   to   255   do  
          begin  
              lCount[i]   :=   0;  
          end;  
       
          for   i:=0   to   lHeight-1   do  
          begin  
              p:=bmp.ScanLine[i];  
              for   j:=0   to   lWidth-1   do  
                  inc(lcount[p[i]]);   //   计数加1  
          end;  
       
          //   计算灰度映射表  
          for   i:=0   to   255   do  
          begin  
              lTemp   :=   0;//   初始为0  
              for   j:=0   to   i   do  
              begin  
                  lTemp   :=   lTemp+lCount[j];  
              end;  
              //   计算对应的新灰度值  
              bMap[i]   :=   byte(Round(lTemp   *   255   /   lHeight   /   lWidth));  
          end;  
       
          for   i:=0   to   bmp.Height-1   do  
          begin  
              p:=bmp.ScanLine[lHeight   -   1   -   i];  
              for   j:=0   to   bmp.Width-1   do  
                  p[j]:=bmap[p[j]];  
          end;  
      end;
  • 相关阅读:
    MySQL中having与where
    HTML中meta标签的作用与使用
    PHP加密与解密
    mongodb----基础描述及安装
    nosql----redis性能优化
    python----案例一:爬取猫眼电影排行榜数据
    python----yield(generator)生成器
    linux下查看cpu个数的方法
    awk----利用循环统计个数
    shell----重启tomcat问题
  • 原文地址:https://www.cnblogs.com/toosuo/p/1010294.html
Copyright © 2020-2023  润新知