Chinaunix首页 | 论坛 | 博客
  • 博客访问: 292820
  • 博文数量: 109
  • 博客积分: 2116
  • 博客等级: 大尉
  • 技术积分: 1062
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-22 15:38
文章分类

全部博文(109)

文章存档

2013年(2)

2011年(16)

2010年(90)

2009年(1)

我的朋友

分类:

2010-07-25 11:30:38

//参数说明:
//LPSTR lpDIBBits:指向源DIB图像指针
//LONG  lWidth:源图像宽度(象素数)
//LONG  lHeight:源图像高度(象素数)
//BYTE  bThre:阈值
//程序说明:
//该函数用来对图像进行阈值变换。对于灰度值小于阈值的象素直接设置
灰度值为0;灰度值大于阈值的象素直接设置为255。
BOOL WINAPI ThresholdTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bThre)
{
 // 指向源图像的指针
 unsigned char* lpSrc;
 // 循环变量
 LONG i;
 LONG j;
 // 图像每行的字节数
 LONG lLineBytes;
 // 计算图像每行的字节数
 lLineBytes = WIDTHBYTES(lWidth * 8);
 // 每行
 for(i = 0; i < lHeight; i++)
 {
  // 每列
  for(j = 0; j < lWidth; j++)
  {
   // 指向DIB第i行,第j个象素的指针
   lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (lHeight - 1 - i) + j;
   
   // 判断是否小于阈值
   if ((*lpSrc) < bThre)
   {
    // 直接赋值为0
    *lpSrc = 0;
   }
   else
   {
    // 直接赋值为255
    *lpSrc = 255;
   }
  }
 }
 // 返回
 return TRUE;
}
阅读(689) | 评论(0) | 转发(0) |
0

上一篇:对比度拉伸

下一篇:指数变换

给主人留下些什么吧!~~