zoukankan      html  css  js  c++  java
  • 直方图均衡子函数

    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;
  • 相关阅读:
    软件开发模式
    my parnter code review
    官僚模式和功能团队模式的优缺点
    思考题
    my code review
    四则运算
    Android Studio下使用Junit框架测试数组和
    SQL2008 存储过程 增删改查例子
    NET 无法显示XML页怎么办
    vs2010 2005 2008 代码前面出现··········取消方法
  • 原文地址:https://www.cnblogs.com/toosuo/p/1010294.html
Copyright © 2011-2022 走看看