精华内容
下载资源
问答
  • 对数变换(Power-Law 变换)的公式为: 由一个参数决定,c,1+r的目的是保证像素值为非负数 它的作用是:扩展图像中的暗像素,可以增加低亮度的区域 MATLAB函数代码如下: function img_after = log_img(img_...

    对数变换
    对数变换(Power-Law 变换)的公式为:
    对数变换公式
    由一个参数决定,c,1+r的目的是保证像素值为非负数
    它的作用是:扩展图像中的暗像素,可以增加低亮度的区域
    示例
    MATLAB函数代码如下:

    function img_after = log_img(img_before, K)
    img_double = im2double(img_before);
    img_after = K* log(1 + img_double);
    end
    

    其中的k为放大系数,img_before为要变换的图像,img_after为变换后的图像
    完整的代码如下:

    img = imread('路径');
    subplot(1,2,1)
    imshow(img)
    title('原图像')
    
    k = 1.6;
    img_P = log_img(img, k);
    subplot(1,2,2)
    imshow(img_P)
    da = ['k=' num2str(k) '变换后的图像'];
    title(da)
    
    
    function img_after = log_img(img_before, K)
    img_double = im2double(img_before);
    img_after = K* log(1 + img_double);
    end
    

    幂次变换
    幂次变换(Log变换)公式如下:
    在这里插入图片描述
    幂次曲线中的 值决定了是把输入窄带暗值映射到宽带输出值还是把输入窄带亮值映射到宽带输出。
    γ<1时,γ↓ ⇒ 该变换将低灰度值(暗值)进行拉伸
    γ>1时,γ↑ ⇒ 该变换将高灰度值(亮值)进行拉伸

    示例
    为什么要进行γ校正?
    几乎所有的CRT显示设备、摄像胶片、许多电子照相机的光电转换特性都是非线性的。所以,如果不进行校正处理的话,将无法得到好的图像效果。
    光电传感器的输入输出特性:这些非线性部件的输出与输入之间的关系可以用一个幂函数来表示,形式为:设CCD的输入(入射光强度)为r,输出(电压)为v,则有:在这里插入图片描述
    对于伽马值的选取,要根据实际情况而定
    c取1,伽马取不同值(小于1)图像如下:
    在这里插入图片描述
    c取1,伽马取不同值(大于1)图像如下:
    在这里插入图片描述

    同时对上方的月球图片进行处理得到:
    在这里插入图片描述
    MATLAB函数代码为:

    function img_after = Power_law(img_before, K, c)
    
    img_double = im2double(img_before);
    img_after = K* img_double.^c;
    
    end
    

    完整代码为:

    %图片读取
    img = imread('路径');
    subplot(1,2,1)
    imshow(img)
    title('原图像')
    
    %参数设置
    k = 1.2;
    c = 0.75;
    img_P = Power_law(img, k, c);
    subplot(1,2,2)
    imshow(img_P)
    da = ['变换公式' num2str(k) '*x .\^' num2str(c) '变换后的图像'];
    title(da)
    
    
    function img_after = Power_law(img_before, K, c)
    
    img_double = im2double(img_before);
    img_after = K* img_double.^c;
    
    end
    

    如果感觉文章有用的话,点个赞O(∩_∩)O哈哈~

    如果你要交作业的话,还请认真阅读,懂了之后自己写一写,那样才是自己的。

    ps:部分图片来自于湖南大学图像处理课程PPT(侵删)

    展开全文
  • Matlab 图像增强(对数变换

    万次阅读 多人点赞 2019-03-21 11:30:46
    图像的对数变换: 通过灰度变换函数,调整输入低质图像的灰度值范围。将图像的低灰度值部分扩展,高灰度值部分压缩。...下面先介绍冈萨雷斯《数字图像处理》中设计的方法,我认为对图像的灰度提高的过于明...

    图像的对数变换:

    通过灰度变换函数,调整输入低质图像的灰度值范围。将图像的低灰度值部分扩展,高灰度值部分压缩。借此强调图像低灰度部分,达到增强图像的目的。

    该法用于图像增强的原理:

    显示器无法显示大范围灰度值时,许多灰度细节会被丢失掉,

    对数变换可将其动态范围变换到一个合适的区间,就可以显示更多细节。

    下面先介绍冈萨雷斯《数字图像处理》中设计的方法,我认为对图像的灰度提高的过于明显。

    对数变换公式:S=c log(1+r) , c为常数。

    f = imread('lena.png');  
    
    G=mat2gray(log(1+double(f))); 
    % matlab中数值一般采用double型(64位)存储和运算。mat2gray对图像灰度进行归一化处理
    
    subplot(1,2,1);  
    imshow(f);  
    xlabel(' a). 原始图像');  
    subplot(1,2,2);  
    imshow(I2,[]);   % 自动调整数据的范围以便于显示 
    xlabel(' b). 对数变换');  
    end
    

    运行结果:

    下面介绍另一种方法,参考:[数字图像处理]灰度变换

    对数变换公式:, c为常数,

    v越大,灰度提高越明显,r为灰度归一化后的输入图像。

    f = imread('lena.png');  
    
    v=10;
    r=mat2gray(double(I));
    S=log(1+v*r)/(log(v+1));
    
    subplot(1,2,1);  
    imshow(I);  
    xlabel('a). 原始图像');  
    subplot(1,2,2);  
    imshow(S,[]);  
    xlabel('b). 对数变换');  
    end
    

    运行结果:

    这个感觉比较自然一点。

     

    展开全文
  • 冈萨雷斯数字图像处理(第三版) matlab代码 图3.5 傅里叶频谱及对数变换
  • Matlab图像处理之灰度变换函数

    万次阅读 2016-04-20 19:08:51
    1,灰度:对于通常所谓的黑白图像,把黑色和白色之间按对数关系分为若干等级称为灰度。灰度分为256阶,用灰度表示的图像称作灰度图.在图像中用0~255表示,0是全黑,255是全白 2.对比度:对比度值一幅图像中敏感区域...

    首先明确几个概念

    1,灰度:对于通常所谓的黑白图像,把黑色和白色之间按对数关系分为若干等级称为灰度。灰度分为256阶,用灰度表示的图像称作灰度图.在图像中用0~255表示,0是全黑,255是全白

    2.对比度:对比度值一幅图像中敏感区域最亮的白和最暗的黑之间的不同亮度层级的测量,差异范围越大代表对比月大。好的对比率120:1就可以容易的显式生动、丰富的色彩,当对比率达到300:1时便可以支持各阶的颜色。


    imadjust()函数

    前面博文介绍过imadjust()函数是针对灰度图进行灰度变换的基本图像处理工具箱函数。特别注意的是imadjust()函数会截掉在其取值范围外的灰度值,gamma值大于1图像变暗输出,gamma值小于1输出图像变亮。


    stretchlim()函数

    基本语法:Low_High=stretchlim(f);其中f是输入图像.较为通用的语法是:Low_High=stretchlim(f,tol);其中tol是两元素向量[Low_frac high_frac],指定了图像低和高像素值饱和度的百分比。如果tol是标量,那么low_frac=tol,high_frac=1-low_frac;饱和度等于低像素和高像素的百分比。如果在参数中忽略tol那么饱和度水平为2%,tol默认值为[0.01 0.99].如果选择tol=0,那么Low_High=[min(f(:)) max(f(:))].

    Low_High的值指定灰度图像f中所有像素值底部和顶部饱和度的1%,结果以向量[low_in high_in]的形式应用于imadjust函数如:

    g=imadust(f,stretchlim(f),[]);

    下面以提高一幅图片对比度为例,提高对比度最简单的方法是提高白色画面亮度

    %提高图像对比度
    %载入图像
    srcImage=imread('boiler.bmp');
    info=imfinfo('boiler.bmp');
    
    subplot(1,3,1);
    imshow(srcImage);
    title('原图像');
    
    image1=imadjust(srcImage,[ ],[ ],0.8);
    subplot(1,3,2);
    imshow(image1);
    title('gamma值调整');
    
    image2=imadjust(srcImage,stretchlim(srcImage),[],0.8);
    subplot(1,3,3);
    imshow(image2);
    title('stretchlim');

    运行结果如下:


    对数及对比度扩展变换

    对数变换的一项主要应用是压缩动态范围。当执行对数变换时通常期望得到的是将压缩值返回至显式的全域,对于8比特来说在MATLAB中最简易的方法是使用下面语句:

    g=im2uint8(mat2gray(f));


    使用mat2gray将值限定在[0,1]范围内,使用im2uint8将值限定在[0,255]范围内。把图像转换为uint8类。函数把输入灰度图的窄范围扩展到输出灰度图的宽范围,结果就是高对比度的一幅图片。

    展开全文
  • 对数变换 matlab

    2015-05-11 15:13:56
    对数变换matlab图像处理技术中增强图像的一种预处理方法 ,当希望对图像的低亮度区有较大的扩展而对高亮度区压缩时,可采用此种变换。
  • 本文参考了 以下这篇文章[数字图像处理]灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割 https://blog.csdn.net/zhoufan900428/article/details/12709361并进行了一下改进。以上为上述文章 的...
    本文参考了 以下这篇文章

    [数字图像处理]灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割 

    https://blog.csdn.net/zhoufan900428/article/details/12709361

    并进行了一下改进。



    以上为上述文章 的原话,这里展示出对数变换的code 和 figure,

    Matlab Code:

    f = 0:0.01:1;
    v1 = 1;
    y1 = log2(1 + v1*f)/log2(v1+1); 
    v2 = 10;
    y2 = log2(1 + v2*f)/log2(v2+1); 
    v3 = 50;
    y3 = log2(1 + v3*f)/log2(v3+1); 
    v4 = 100;
    y4 = log2(1 + v4*f)/log2(v4+1); 
    v5 = 200;
    y5 = log2(1 + v5*f)/log2(v5+1); 
    plot(f,y1,'g',f,y2,'r',f,y3,'b',f,y4,'c',f,y5,'y');
    xlabel('Input gray level');
    ylabel('Output gray level');
    title('Log transformation: g = log(1+v*r)/log(1+v)');
    
    lgd = legend('Log(v=1)','Log(v=10)','Log(v=50)','Log(v=100)','Log(v=200)');
    legend('Location','southeast');
    title(lgd,'The Legend Title')

    Figure:


    从图中我们可以很直观的看出,由于对数本身上凸的性质,它可以把低灰度(较暗)部分的亮度提高,v 越大,灰度提高越明显,即图像越来越亮。

    以下是改进后的对数变换代码,将4个对比图形放在同一张图内,看起来更直观。

    f = imread('2.jpg');  
    I=rgb2gray(f);
    f = mat2gray(I);% 原代码中的[0 255] 可以去掉,因为f中最大最小值等于0, 255
    
    v = 10;  
    g_1 = log2(1 + v*f)/log2(v+1);  
      
    v = 30;  
    g_2 = log2(1 + v*f)/log2(v+1);  
      
    v = 200;  
    g_3 = log2(1 + v*f)/log2(v+1);  
      
    figure(); %这里改成了四个子图,会更加直观  
    subplot(2,2,1);  
    imshow(f,[0 1]);  
    xlabel('a).Original Image');  
    subplot(2,2,2);  
    imshow(g_1,[0 1]);  
    xlabel('b).Log Transformations v=10');  
      
    subplot(2,2,3);  
    imshow(g_2,[0 1]);  
    xlabel('c).Log Transformations v=100');  
      
    subplot(2,2,4);  
    imshow(g_3,[0 1]);  
    xlabel('d).Log Transformations v=200');  

    figure:


    再次感谢 这篇文章在学习这部分内容时提供的帮助。https://blog.csdn.net/zhoufan900428/article/details/12709361



    展开全文
  • 图像数字化为二维矩阵后,每个点的值都代表一个像素点的灰度值。 灰度级 灰度值的表示范围,灰度级时,称图片为k比特图片。当然灰度级越高,图片的细节则越清晰,因为有更多的灰度值来描述图片。但是灰度级越大...
  • 数字图像处理——Matlab GUI与灰度变换函数简介Matlab具有强大的函数运算功能,利用这一点可以进行像素级的计算,也就是图像处理。这款软件基于Matlab平台,用户可以在软件界面中打开需要修改的图片,选择想要变换的...
  • 在Windows操作系统下的MATLAB2019b应用程序中编写程序,待程序调试完成后,通过选取相同尺寸、不同质量的三幅图像分别利用变换函数(线性函数、对数函数)和直方图均衡化方法进行灰度变换来探究基于灰度变换图像...
  • Matlab 数字图像处理;/1图像的读取和显示;/1图像的读取和显示;/1图像的读取和显示;/1图像的读取和显示;/2图像的点运算;/2图像的点运算;/2图像的点运算;I=imread'nir.bmp%读入图像 F=fft2(im2double(I%FFT F=fftshift...
  • matlab图像均衡化代码图像处理技术 基本图像处理操作 该存储库包含以MATLAB langugae编码的基本图像处理技术。 其中包括以下技术: 1]灰度切片2]直方图均衡3]直方图匹配4]逆变换5]对数变换6]幂定律变换7]基本阈值
  • matlab幂律变换代码使用Matlab进行基本图像处理 该存储库包含基本的图像处理matlab代码文件,这是我在“使用Matlab进行数字图像处理”学期课程中练习的。 我已经添加了所有作业和实验室练习文件。 为混乱表示歉意。 ...
  • matlab幂律变换代码数字图像处理 四年级第二学期实验室使用MATLAB完成数字图像处理代码 关于项目 该存储库包含使用WebGL和GLSL的6个项目。 这6个项目是: 切片图像并旋转90度 直方图均衡 强度转换 形态学 高斯3 * 3...
  • 图像处理MATLAB:亮度变换

    万次阅读 2017-10-06 11:59:45
    亮度变换对数和对比度拉伸变换、实用M函数
  • matlab图像处理实现低通滤波

    千次阅读 2020-10-14 21:19:33
    clc; clear all; img=imread('lena.jpg'); img_noise = imnoise(img, 'gaussian', 0, 0.01); subplot(2,2,1),imshow(img_noise); title('原图像');...title('图像傅里叶变换取对数所得频谱'); % 求解变换
  • 如有帮助欢迎支持 图形图像处理课程 大作业 姓名 班级 学号 1 如有帮助欢迎支持 目录 界面编程实现图像灰度变换1 摘 要2 正 文3 1.MATLAB界面编程简介3 2.图像的灰度变换简介3 3.采用MATLAB Guide设计界面4 3.1 问题...
  • 基于MATLAB 的数字图像处理代码,包含基于对数变换,直方图,伽马校正等图像处理方式的MATLAB代码
  • matlab图像处理基础(二)之点运算

    千次阅读 2017-04-07 20:26:07
    一,灰度直方图:  一幅图像中灰度值0~255之间各灰度所占的像素多少;  用法:imhist(image);...二,灰度对数变换:  如对数图一样,值越大,斜率越小,这种变换可以增强一副图像中较暗的部分;  
  • 本资源使用VC来调用matlab进行图像处理,这个文件包括对数变换后的图像 这个是我做毕设时候自己写的程序 打开要处理的图像非常方便 都可以使用 由于文件太大 只能一个一个的上传
  • 亮度变换函数2.1函数imadjust2.2对数和对比度拉伸变换 一.背景知识 空间域技术则是直接对图像的像素进行操作。有表达式: g(x,y)=T[f(x,y)]g(x,y)=T[f(x,y)]g(x,y)=T[f(x,y)] 其中f是输入,g是输出。 还有点(x,y)的...
  • 2、对数、指数变换、取反等各种非线性变换的效果对比,务必有仿真结果及其详细的对比分析 二、1、已知某灰度图像数据如下,请对其进行直方图均衡化 2、已知某灰度图像数据如下,请用Gml和SML两种映射规则对其进行...
  • matlab幂律变换代码ECE1512数字图像处理及其应用(在机器学习领域) 本课程是关于图像处理的。 该存储库包含我在本课程中的工作。 (2019年冬季)即将添加工作。 所有的代码都是用Matlab编写的。 应用了三种图像增强...
  • 给定一个灰度图像,找到并显示傅立叶光谱的大小,然后对其进行对数变换和幂定律变换。 给定灰度图像,对其进行直方图均衡化增强 教程-2 在给定的输入图像上实现Marr-Hildreth边缘检测器和Canny边缘检测器。 仅使用两...
  • 中值过滤代码matlab 使用MATLAB进行图像处理活动 这是用于图像处理活动的MATLAB代码的集合,其范围从简单的事情(例如创建几何图形)到实现...对数和逆对数变换 翻转图像,改变亮度,补充图像 圆形,方形,梯形形状创建
  • MATLAB数字图像处理 文件:打开、显示、重载、RGB变灰度、保存; 几何变换:垂直、水平镜像,图像转置、平移、缩放、旋转; 正交变换:FFT、DFT、DCT、DST、DHT、DWasht; 灰度处理:反色、直方图均衡、阈值变换、...
  • [数字图像处理]灰度变换——反转,对数变换,伽马变换,灰度拉伸,灰度切割,位图切割 【From】http://blog.csdn.net/zhoufan900428/article/details/12709361 数字图像处理灰度变换灰度拉伸MATLAB...
  • 空域点处理中的图像反转、线性变换、对数变换、幂函数变换、均衡化增强; 空域滤波中的均值滤波、中值滤波、加权滤波、Robert算子、Sobel算子、Laplace算子; 频域滤波中的低通滤波和高通滤波; 傅里叶变换中正...
  •   图像灰度的非线性变换主要有对数变换、指数变换、幂次变换等。本文主要讨论对数变换。   对数变换的基本形式如下: y=log⁡(1+x)b y=\frac{\log{(1+x)}}{b} y=blog(1+x)​ 其中,bbb为正常数,用以控制...
  • 函数intrans,注意观察函数中实现输入的变量数处理,错误检验代码的使用以及输入图像的类是如何与输出图像的类相匹配,另外,varargin是一个单元数组,其元素应使用大括号括起。源码内含有详细注释,这里不展开说明...
  • 我对 Ridler-Calvard 算法的现有 matlab 实现并不满意,所以我自己编写了。... 该功能还允许在阈值化之前对图像应用对数变换。 如果前景的方差大大高于背景的方差,则对数变换可能会导致更好的阈值。

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

matlab图像处理对数变换

matlab 订阅