精华内容
下载资源
问答
  • 对比度拉伸

    2008-06-11 07:56:04
    对比度拉伸对比度拉伸对比度拉伸
  • 对比度拉伸 代码 对比度算法 数字图像处理
  • 图像处理 对比度拉伸

    2009-05-19 14:07:00
    图像处理 对比度拉伸 图像处理 对比度拉伸 图像处理 对比度拉伸图像处理 对比度拉伸
  • 运用本函数,可以使图像的对比度拉伸,效果比直接使用imadjust,此函数是冈萨雷斯 数字图像处理 上面的 运用本函数,可以使图像的对比度拉伸,效果比直接使用imadjust,此函数是冈萨雷斯 数字图像处理 上面的
  • 对比度拉伸C语言实现

    2018-02-04 14:21:41
    对比度拉伸C语言实现....................................................................
  • 对比度拉伸.rar

    2011-11-17 22:51:21
    对比度拉伸.图像处理的算法,本科期间图像处理的代码,很有用的
  • VC++数字图像处理 对比度拉伸,基于VC++的数字图像处理实现对比度拉伸
  • 图像处理中对比度拉伸的matlab程序,对初学者了解对比度拉伸很有帮助哦,
  • 对比度拉伸 数字图像处理 vc dip 对比度拉伸 数字图像处理 vc dip
  • Visual c++数字图像处理对比度拉伸算法
  • 图像处理程序之对比度拉伸,用Visual C++实现了对图像的对比度拉伸,算法可靠。
  • 1、导致低对比度图像的原因:照明不足、成像传感器动态范围太小、镜头光圈设置错误。2、分段线性变换函数:增强原图各部分的反差,即增强输入图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域。优势在于形式...

    1、导致低对比度图像的原因:照明不足、成像传感器动态范围太小、镜头光圈设置错误。

    2、分段线性变换函数:增强原图各部分的反差,即增强输入图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域。优势在于形式可以任意合成,缺点是是需要更多的用户输入。

    3、

    a4c26d1e5885305701be709a3d33442f.png

    分段线性变换的函数形式:

    a4c26d1e5885305701be709a3d33442f.png

    给出需要转换的灰度范围,决定线性变换的斜率。a4c26d1e5885305701be709a3d33442f.png

    4、分段的灰度拉伸可以更加灵活地控制输出灰度直方图的分布,可以有选择地拉伸某段灰度区间,以改善输出图像。如果一幅图像灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能来扩展(斜率>1)物体的灰度区间以改善图像;如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率<1)物体灰度区间以改善图像质量。

    5、一般情况下,限制<

    C/C++ Demo: 把灰度级由其原范围线性地拉伸至整个灰度级范围。

    //通用

    #include

    #include

    //图像操作

    #include

    #include

    #include

    using namespace :: std;

    using namespace :: cv;

    int

    main()

    {

    //图像读取

    Mat image =

    imread("Fig0310.tif");

    //判断图像读取是否有问题

    if(!image.data)

    {

    cout << "image read

    is error!" <<

    endl;

    return 0;

    }

    //图像基本信息输出

    cout << "image

    Info:Height:" <<

    image.size().height <<

    " Width:"

    << image.size().width

    << endl;

    //原始图像显示

    namedWindow("Original

    Image");

    imshow("Original Image",

    image);

    imwrite("original.jpg",

    image);

    //处理图像

    int data_max = 0,data_min = 255;

    int nl = image.rows;

    int nc = image.cols * image.channels();

    if(image.isContinuous())

    {

    nc = nc * nl;

    nl = 1;

    }

    int i,j;

    uchar *data;

    for(j = 0; j < nl; j ++)

    {

    data = image.ptr(j);

    for(i = 0; i < nc; i ++)

    {

    if(data[i] >

    data_max)

    data_max = data[i];

    if(data[i] <

    data_min)

    data_min = data[i];

    }

    }

    cout <<

    "data_max:"

    << data_max

    << "

    data_min:" <<

    data_min << endl;

    int temp = data_max - data_min;

    for(j = 0; j < nl; j ++)

    {

    data = image.ptr(j);

    for(i = 0; i < nc; i ++)

    {

    data[i] = (data[i] - data_min) * 255 / temp;

    }

    }

    //显示图像

    namedWindow("Process Image");

    imshow("Process Image",

    image);

    //保存图像

    imwrite("result.JPG", image);

    waitKey(0);

    return 0;

    }

    原始图像:

    a4c26d1e5885305701be709a3d33442f.png

    处理后图像:

    a4c26d1e5885305701be709a3d33442f.png

    展开全文
  • 对数及对比度拉伸变换

    千次阅读 2016-08-04 20:17:28
    对数及对比度拉伸变换 对数和对比度拉伸变换是:动态范围操作的基本工具 表达式:g=c*log(1+f),其中c是一个常数,f是浮点数 对数变换:  应用:压缩动态范围(实现了图像灰度扩展和压缩...
     
    


    对数及对比度拉伸变换



    对数和对比度拉伸变换是:动态范围操作的基本工具

    表达式:g=c*log(1+f),其中c是一个常数,f是浮点数

    对数变换:
                   应用:压缩动态范围(实现了图像灰度扩展和压缩功能,扩展低灰度值而压缩高灰度值,让图像的灰度分布更加符合人的视觉特性)(灰度值0(黑)~255(白))
                             可以利用这种变换来扩展被压缩的高值图像中的暗像素
         
                   mat2gray(f):会将压缩值限定在【0,1】范围

                   im2uint8( mat2gray(f) ):会将值限定在【0,255】范围

    对比度拉伸变换函数:把窄的输入灰度级扩展为宽的范围的输出灰度级,结果是一幅高对比度的图像
                      表达式:                  1
                                s=T(r)=   - - - - - - -     ,
                                              1+(m/r)^E
                                其中r为输入图像的灰度,s是输出图像中的相应灰度值,E用于控制该函数的斜率

    阈值化/阈值处理函数:用于图像分割的简单工具


     
    展开全文
  • 题目:定义一个图像的对比度拉伸函数,函数名为myGrayScaleTransform,将输入图像的对比度线性平滑地拉伸到指定的灰度级区间,要求该函数的输入参数包括处理前的灰度图像img1 (如EXP1A.tif)、期望灰度级的参数区间...

    题目:定义一个图像的对比度拉伸函数,函数名为myGrayScaleTransform,将输入图像的对比度线性平滑地拉伸到指定的灰度级区间,要求该函数的输入参数包括处理前的灰度图像img1 (如EXP1A.tif)、期望灰度级的参数区间para,输出参数为处理后的灰度图像img2。

    定义函数为img2 = myGrayScaleTransform (img1, para),其中,参数para是一个长度为2的一维数组,用于表示期望灰度级区间的最小值和最大值,要求最小和最大值的取值范围限定在区间[0 255]之间,且最小值不能超过最大值,如指定区间为para = [50 120];线性平滑拉伸可以参考数据归一化的计算原理。

     

    实现思路:

    1.定义函数:

                  我们定义的函数有两个参数:图像img1和灰度级区间最小值、最大值的二维数组para。首先对para参数进行判断,若灰度级的最大值和最小值不符合要求则报错。

    若输入的参数没有问题,就开始对图像进行处理:先使用im2double函数将uint8类型的图像数据转换为double类型的,分别取图像矩阵的最大值和最小值,使用公式利用公式f=(img – min_i)/(max_i – min_i)把数据范围压缩到0~1之间的数值,即数据的归一化,以便计算。再使用公式img2 = (b - a) .* img2 + a还原图片像素的大小为para区间内的数值,最后使用函数uint8将图片数据转换为uint8的格式,以便输出。

    2.测试函数:

    使用imread函数读取图像'EXP1A.tif';

    分别定义灰度级para = [0,50]、 para = [50,120]、para = [150,250],并分别调用myGrayScaleTransform函数得到对比度拉伸后的图像;

              3.按题目要求显示图像。

     

    实现效果:

    实现源代码:

    clc;
    %读取图像
    img_a = imread('EXP1A.tif');
    
    para = [0,50];
    img_a2 = myGrayScaleTransform (img_a, para);
    
    para = [50,120];
    img_a3 = myGrayScaleTransform (img_a, para);
    
    para = [150,250];
    img_a4 = myGrayScaleTransform (img_a, para);
    
    %显示图像
    figure('NumberTitle', 'off', 'Name', '实验一第三题 EXP1A.tif 对比度拉伸'); 
    subplot(2,2,1);
    imshow(img_a);
    title('原图');
    
    subplot(2,2,2);
    imshow(img_a2);
    title('0~50');
    
    subplot(2,2,3);
    imshow(img_a3);
    title('50~120');
    
    subplot(2,2,4);
    imshow(img_a4);
    title('150~250');
    
    function img2 = myGrayScaleTransform (img1, para)
        a = para(1);
        b = para(2);
        if(a > b)
            error('para中参数,最小灰度值a不能超过最大灰度值b!');
        elseif(a < 0 || b > 250)
            error('para中参数,最小灰度值a和最大灰度值b的范围在区间[0,250]之间!');
        end
        img = im2double(img1);%将uint8类型的数据转换为double类型的同时,把数据范围由原来的0~255映射到0~1,可以看作数据的一种归一化,以便计算
        min_i = min(img(:));
        max_i = max(img(:));
        img2 = (img - min_i)./(max_i - min_i);%将图片压缩到0~1之间的数值
        img2 = (b - a) .* img2 + a;%还原图片像素的大小为para区间内的数值
        img2 = uint8(img2);%将图片数据转换为uint8的格式,以便输出
    end
    

     

    展开全文
  • 对比度拉伸、负值、幂律等图像灰度变换研究转换,位平面切片,单双阈值保持。 代码简单,容易理解。
  • C语言的 影像的对比度拉伸和影像直方图均衡化收集整理的代码,可运行。
  • matlab开发-对比度拉伸和标准化。在图像上拉伸对比度并将图像从0规范化为1
  • 在8位灰度图像(C#)上实现分段线性对比度拉伸的程序。
  • 数字图像处理实验之对比度拉伸

    千次阅读 2019-07-17 15:38:42
    可以通过对比度拉伸提高图像对比度,显示更多细节。先来看看对比度拉伸的典型变换: 书本中(冈萨雷斯:数字图像处理第三版P69)的对比度拉伸变换函数图是这样的: 图3.10(b)低对比度拉伸图中,最低灰度级为91,...
  • Matlab——对比度拉伸

    万次阅读 2018-07-31 22:20:25
    1、代码如下: close all;clear all;clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行 I=imread('pout.tif'); J=imadjust(I,[0.2 0.5],[0 1]);%将0.2-0.5之间的灰度扩展到整个0-1范围,这种处理 对于...
  • 点运算又称为对比度增强、对比度拉伸或灰度变换,是一种通过图像中的每一个像素值进行运算的图像处理方式。。它将输入图像映射为输出图像,输出图像每个像素点的灰度值仅有对应的输入像素点的灰度值决定,运算结果...
  • 在数字图像中,空域中的对比度拉伸增强变换。用matlab编写的程序。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,682
精华内容 3,872
关键字:

对比度拉伸的作用