注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
用SQL Server为Web浏览器提供图像
用SQL Server为Web浏览器提供图像
用SQL Server为Web浏览器提供图像
用SQL Server为Web浏览器提供图像
用SQL Server为Web浏览器提供图像
用SQL Server为Web浏览器提供图像
用SQL Server为Web浏览器提供图像
SQL Server存储图像数据的策略与
从Access数据库恢复BMP图像并显示
通用图像类算法扩充库
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> Delphi >> 文章正文
黑白图像的缩小灰度级显示算法的编写
作者:shuyi  来源:csdn  点击:  更新:2006-12-19
简介:
 

大家都知道,黑白图像是0,1二值的,缩小显示的时候由于n个点转化成1个点会导致图像局部细节信息丢失,比如一条宽度一个象素的细线由于缩小可能就会没有显示,而使用灰度级显示正是能解决这个缩小显示的问题,Windows自带的Eastman Software提供的的图像处理可以在你缩小黑白图片的时候使用灰度级来显示,下面我们就来深入研究一下这个算法是如何实现的吧。

基本约定:

1.  灰度级缩小显示只正对黑白或者灰度影像,经过算法变换可用于彩色影像

2.  只有在显示<100%的时候灰度级显示才生效

3.  灰度级缩小算法是基于原始图像来运算

具体算法:

1.  缩小算法

按照与原图比例1n来对原图nXn个点生成1个点(n可以是浮点数),考虑到效率可以使用灰度级变换,从0-255 取中间点127大于该值显示白小于改值显示黑色。

2.  灰度级显示算法

结合缩小算法nXn个点生成一个点的原则,在原图上按照每个点的权值和颜色相乘再除以n来得到生成点的颜色值。

例如:

a1  a2   a3  a4  a5  a6   a7  a8  a9 a10

|-----|---*-|-----|-*---|-----|*----|-----*-----|-----|-----|

 

|---------|---------|----------|----------|----------|---------|--

b1    b2     b3     b4     b5     b6

经过变换后

b1 = (1.0*a1+0.8*a2)/1.8

b2 = (0.2*a2+a3+0.6*a3)/1.8

……

 

这是一维坐标,扩展到二维空间算法相同。

具体实现方法:

1.  计算出缩小后的位图点阵大小(nXm)

比如原图100X100,缩放90%之后就是90X90点阵

2.  循环点阵,为每个点的颜色赋值

赋值方法取相关点颜色乘以相应权值累加除以权值和

 

原图


缩放为66.6%


计算每点值

Delphi代码如下

 

var

  i,j:integer;

  tmpColorR,tmpColorG,tmpColorB:dWord;

  x,y:integer;

  ScaleRate,ScaleRateX,ScaleRateY:real;

begin

       //combobox1.text为缩放%

  ScaleRate:=100/strtoFloatDef(combobox1.text,100);

//循环生成图像的点阵

  for i:=0 to  trunc(image1.Picture.Width/ScaleRate) do

    for j:=0 to  trunc(image1.Picture.height/ScaleRate) do

      begin

        tmpColorR:=0;

        tmpColorG:=0;

        tmpColorB:=0;

              //为每个点累加相关节点的颜色

        for x:=trunc(i*ScaleRate) to  ceil(((i+1)*ScaleRate)-1) do

          begin

            for y:=trunc(j*ScaleRate) to ceil(((j+1)*ScaleRate)-1) do

              begin

                ScaleRateX:=Min(x+1,(i+1)*ScaleRate) - Max(x,i*ScaleRate);

                ScaleRateY:=Min(y+1,(j+1)*ScaleRate) - Max(y,j*ScaleRate);

[1] [2] 下一页






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务