图像变换——分段线性变换

原创 2013年12月05日 17:38:21

灰度变换法:

        一般成像系统只具有一定的亮度范围,亮度的最大值与最小值之比称为对比度。由于形成图像的系统亮度有限,常出现对比度不足的问题,使人眼观看图像时视觉效果很差,通过灰度变换法可以大大改善人的视觉效果。灰度变换法又可分为三种:线性分段性及分线性变换。

(1)线性变换

                 假定原图像f(x,y)的灰度范围为[a,b],希望变换后图像g(x,y)的灰度范围扩展至[c,d],线性变换表示式为:

                  g(x,y) = [(d - c) / (b - a)]f(x,y) + c

                  此关系式可用下图表示。若图像中大部分象素的灰度级分布在区间[a,b],很小部分的灰度级超出了此区间,为改善增强的效果,可令:

                  g(x , y) = c                                                 0 <  f(x , y) < a

                  g(x , y) = [(d - c) / (b -  a)] f(x , y) + c         a  <=   f(x , y) <=  b

                  g(x , y) = d                                                 b <  f(x , y) < Fmax

(2)分段线性变换

             为了突出感兴趣的目标或灰度区间,相对抑制那些不感兴趣的目标或灰度区间,常采用分段线性变换法。常用的是三段线性变换法,其数学表达式为:

             g(x , y) = (c / a)f(x , y)                                                 0 <  f(x , y) < a

             g(x , y) = [(d - c) / (b -  a)] f(x , y) + c                                       a  <=   f(x , y) <=  b

             g(x , y) = [(Gmax - d) / (Fmax - b)][f(x,y) - b + d]                                                b <  f(x , y) < Fmax

             上式对灰度区间[a,b]进行了线性变换,而灰度区间[0,a] [b , Fmax]受到了压缩。通过细心调整折线拐点的位置及控制分段直线的斜率,可对任一灰度区间进行扩展或压缩。这种变换适用于在黑色或白色附近有噪声干扰的情况。例如照片中的划痕,由于变换后0~a以及b~Fmax之间的灰度受到压缩,因而使噪声干扰得到减弱。

for (int i = 0; i < img_height - 1; i++)
  {
   for (int j = 0; j < img_width - 1; j++)
   {
    uchar cur = data[i * img_width + j];
    cur = ratio * cur + intercept;//线性变换

    data[i * img_width + j] = cur;
    if (cur < 0)
    {
     cur =0;
    }
    else if(cur > 255)
    {
     cur =255;
    }

    }

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

分段线性变换

直方图均衡化

灰度线性变换.m

%灰度线性变换 MATLAB 程序实现如下: clc;clear;close; I=imread('e:\role0\003i.bmp'); subplot(2,2,1),imshow(I); t...

数字图像处理-空间域图像增强(一)(图像反转,对数变换,幂次变换、分段线性变换)

空间域增强的第一部分:图像反转,对数变换,幂次变换、分段线性变换

Matlab 图像处理

 MATLAB知识var stattitle=MATLAB知识; yaaan17:40 PM fnChangeFloat(left,...
  • gotomic
  • gotomic
  • 2007年10月20日 00:52
  • 18020

分段线性变换与直方图均衡化

分段线性变换两种实用的直方图修正技术:直方图均衡化和直方图规定化本章的典型案例分析  基于直方图均衡化的图像灰度归一化直方图匹配分段线性变换 分段线性变换有很多种, 包括灰度拉伸、 灰度窗...

在MATLAB和OpenCV环境下写的灰度图像分段线性变换源码!

利用分段线性变换函数来增强图像对比度的方法实际是增强原图各部分的反差,即增强输入图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域。分段线性函数的主要优势在于它的形式可任意合成。此文给出用MATL...

Android数据存储五种方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下:        1 使用SharedPreferences存储数据     2 文件存储数据           3 SQLite数...
  • hanj456
  • hanj456
  • 2016年12月06日 08:46
  • 1492

jQuery AJAX的5种实现方式

What is AJAXThis section is for those who have no idea what AJAX is. If you don’t fall into this cat...

关于图像对比度【1】——对比度和线性变换

关于图像对比度【1】对比度和线性变换关于什么是对比度这事,不好用一个很明确很严谨的词来概括清楚。对比度高,画面看上去就很硬朗,对比度低,画面看上去就朦朦胧胧,比如下面这张图:对比度和颜色没有关系,换句...

分段线性变换与直方图修正

本文主要包括以下内容 分段线性变换 两种实用的直方图修正技术:直方图均衡化和直方图规定化 本章的典型案例分析 基于直方图均衡化的图像灰度归一化 直方图匹配 分段线性变换分段线性变换有很多种, 包括灰...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图像变换——分段线性变换
举报原因:
原因补充:

(最多只允许输入30个字)