利用自动色阶原理,将遥感图象从16Bit映射到8bit

本文介绍如何将16bit的雷达遥感图像转换为8bit以便正常显示。通过自动色阶原理,裁剪分布不均的图像两端像素,增强对比度,使图像由暗到亮显示更清晰。提供的C++代码实现了这一转换过程,并提供了测试数据中的切片比例参数。
摘要由CSDN通过智能技术生成

    遥感图像每个通道的灰度值通常采用8bit存储,雷达影像则是用16bit进行存储。只有把16bit的灰度值(0-65535)转为8bit(0-255),才可以在屏幕上正常显示。直接映射对于灰度值在灰度范围内分布均匀图像的显示效果较好,但往往这样会使图像很暗,有时甚至分一片漆黑。借用了photoshop中的调整自动色阶的原理,将分布不均匀的图像色阶柱状图的两边切掉一些太黑或太白像素,可以显示较为清晰的图像,并使得对比度增强,图像明显由暗到亮。

/*uc_gray 8bit数据;us_gray 16bit数据;dCutRate两边切掉的像素占图像的百分比;nXSize,nYSize表示图像的行数和列数*/

void CImageObject::UShort2UChar(unsigned char *uc_gray, unsigned short * us_gray, double dCutRate, long  nXSize, long nYSize)
{
 //求有效色阶范围
 int i;
 short max, min, scan;
 max = us_gray[0];
 min = max;
 for(i=0; i<nXSize * nYSize; i++)
 {
  if(us_gray[i] > max)
   max = us_gray[i];
  if(us_gray[i] < min)
   min = us_gray[i];
 }
 scan = max - min;
   
 //求色阶数组
 unsigned sho

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值