【数字图像处理】实验(2)——图像增强(MATLAB实现)

这篇具有很好参考价值的文章主要介绍了【数字图像处理】实验(2)——图像增强(MATLAB实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验意义及目的

(1)进一步掌握图像处理工具Matlab,熟悉基于Matlab的图像处理函数。
(2)掌握各种图像增强方法。

二、实验内容

1.打开一幅彩色图像Image1,使用Matlab图像处理函数,对其进行下列变换:
(1)将Image1灰度化为gray,统计并显示其灰度直方图;
(2)对gray进行分段线性变换;
(3)对gray进行直方图均衡化;
(4)对gray进行伪彩色增强;
(5)对gray添加噪声并平滑;
(6)对gray利用Sobel算子锐化;
(7)实验要求中的拓展内容。

2.拓展内容:
(1)对以上处理变换参数,查看处理效果;
(2)更改伪彩色增强方法为热金属编码或彩虹编码;
(3)设计不同的平滑滤波、锐化滤波方法,查看处理效果;
(4)自行设计方法,实现对彩色图像增强处理。

三、实验原理

1.灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。
2.直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。
3.伪彩色增强:把一幅黑白域图像的不同灰度级映射为一幅彩色图像的技术手段。
4.锐化(Sharpening) :图像在传输或变换过程中(如未聚焦好)、受到各种干扰而退化,典型的是图像模糊,而图像的判读和识别中,常需突出目标的轮廓或边缘信息。
5.边缘锐化:主要增强图像的轮廓边缘、细节( 灰度跳变部分),以突出图像中景物的边缘或纹理,形成完整的物体边界,使边缘和轮廓模糊的图像清晰,又叫空域高通滤波(俗称为勾边处理)。

四、Matlab相关函数介绍

(1)imhist函数
功能:统计变显示图像的直方图。
调用格式:
imhist(I):显示图像I的直方图。
imhist(I, n):显示图像I的直方图,n指定直方图中的列数。
[COUNTS,X] = imhist(…):返回直方图数据向量COUNTS和相应的色彩值向量X。
(2)histeq函数
功能:直方图均衡化
调用格式:
J = histeq(I,hgram):将图像I的直方图变成用户指定的向量hgram,hgram中的各元素值域为[0,1];
J = histeq(I,N):对原始图像I进行直方图均衡化,N为输出图像的灰度技术,默认N为64。
(3)imadjust函数
功能:调整图像灰度值或颜色映射表,增加图像的对比度。
调用格式:
J = imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA):调整图像I的灰度值;[LOW_IN; HIGH_IN]指定原始图像中要变换的灰度范围;[LOW_OUT; HIGH_OUT]指定变换后的灰度范围;低于LOW_IN 、高于HIGH_IN 的采取截取式;都可以使用空的矩阵[],默认值是[0 1]; GAMMA为标量,指定描述值I和值J关系的曲线形状,如果小于1,此映射偏重更高数值(明亮)输出,如果gamma大于1,此映射偏重更低数值(灰暗)输出,如果省略此参数,默认为(线性映射)。
NEWMAP = imadjust(MAP,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA):调整索引图像的颜色表map,其他参量同上。
RGB2 = imadjust(RGB1,…):对RGB图像RGB1的R、G、B分量进行调整。
(4)imnoise函数
J = imnoise(I,type,parameters):按指定类型在图像I上添加噪声;type表示噪声类型,parameters为其所对应参数,可取值如表1所示:
表1 imnoise函数参数表
【数字图像处理】实验(2)——图像增强(MATLAB实现)
(5)fspecial函数
h=fspecial(type,parameters):创建指定类型和参数的二维滤波器h,如表2所示:
表2 fspecial函数参数表
【数字图像处理】实验(2)——图像增强(MATLAB实现)
(6)filter2函数
Y = filter2(B,X,shape):使用二维FIR滤波器B对矩阵X进行滤波;shape指定返回值Y的形式,‘full’:Y的维数大于X;‘same’:Y的维数等于X;‘valid’:Y的维数小于X;默认为same。
(7)imfilter函数
B=imfilter(A,H,option1,option2,…):根据指定的属性option1,option2…等,使用多维滤波器H对图像A进行滤波,H常由函数fspecial输出得到。属性参数如表3所示:
表3 imfilter函数参数表
【数字图像处理】实验(2)——图像增强(MATLAB实现)
(8)medfilt2函数
B = medfilt2(A,[m n]]):用[m n]大小的滤波器对图像A进行中值滤波,输出图像为B,滤波器大小默认为3×3。
(9)edge函数
BW = edge(I):对灰度或二值图像I进行边缘检测,检测后图像为二值图像BW,边界处取值为1,否则为0。缺省情况下,edge函数使用Sobel算子检测边缘,也可以指定算子。
BW = edge(I,‘sobel’);BW = edge(I,‘prewitt’);BW = edge(I,‘roberts’);
BW = edge(I,‘log’);BW = edge(I,‘canny’)引号内为指定算子。
BW = edge(I,‘sobel’,thresh):thresh指定保留边缘的阈值,若为0,edge函数自动选择该值。

五、代码及结果

(1)将Image1灰度化为gray,统计并显示其灰度直方图;

(2)对gray进行分段线性变换;

代码:文章来源地址https://www.toymoban.com/news/detail-422395.html

Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
imhist(gray),title('灰度直方图'); 
[h,w]=size(gray);                                     
NewImage1=zeros(h,w);                 
a=80/256; b=180/256; c=30/256; d=220/256;
for x=1:w
    for y=1:h
        if gray(y,x)<a 
            NewImage1(y,x)=gray(y,x)*c/a;
        elseif gray(y,x)<b
            NewImage1(y,x)=(gray(y,x)-a)*(d-c)/(b-a)+c;
        else
            NewImage1(y,x)=(gray(y,x)-b)*(255-d)/(255-b)+d;
        end                                               
    end
end
figure,imshow(NewImage1),title('分段线性变换');

结果:
【数字图像处理】实验(2)——图像增强(MATLAB实现)
【数字图像处理】实验(2)——图像增强(MATLAB实现)

(3)对gray进行直方图均衡化;

代码:

Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
NewImage2=histeq(gray);
figure,imshow(NewImage2),title('直方图均衡化');

结果:
【数字图像处理】实验(2)——图像增强(MATLAB实现)

(4)对gray进行伪彩色增强;

代码:

Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
NewImage3=zeros(h,w,3);
for x=1:w
    for y=1:h
        if gray(y,x)<64/256
            NewImage3(y,x,1)=0;
            NewImage3(y,x,2)=4*gray(y,x);
            NewImage3(y,x,3)=1;
        elseif gray(y,x)<128/256
            NewImage3(y,x,1)=0;
            NewImage3(y,x,2)=1;
            NewImage3(y,x,3)=2-4*gray(y,x);
        elseif gray(y,x)<192/256
            NewImage3(y,x,1)=4*gray(y,x)-2;
            NewImage3(y,x,2)=1;
            NewImage3(y,x,3)=0;
        else
            NewImage3(y,x,1)=1;
            NewImage3(y,x,2)=4-4*gray(y,x);
            NewImage3(y,x,3)=0;
        end
    end
end
figure,imshow(NewImage3),title('伪彩色增强');

结果:
【数字图像处理】实验(2)——图像增强(MATLAB实现)

(5)对gray添加噪声并平滑;

代码:

Image1=im2double(imread('lotus.bmp'));
gray=rgb2gray(Image1);
noiseIsp=imnoise(gray,'salt & pepper',0.1);            
noiseIg=imnoise(gray,'gaussian');  
result1=medfilt2(noiseIsp); 
result2=medfilt2(noiseIg);
figure;
subplot(121),imshow(re

到了这里,关于【数字图像处理】实验(2)——图像增强(MATLAB实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数字图像处理】实验(3)——图像综合应用:皮肤美化(MATLAB实现)

    (1)了解和掌握图像处理工具 Matlab ,熟悉基于 Matlab 的图像处理函数,并为下一步编程进行图像处理打下基础。 (2)理解色彩的概念,掌握图像代数运算,几何变换方法。 1.灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。 2.直方图均衡化通过点运

    2024年02月05日
    浏览(52)
  • matlab数字图像处理之图像增强

    图像处理 基本目的之一是改善图像质量,而改善图像最常用的技术是图像增强的目的是为了改善图像的视觉效果,使图像更加清晰,便于人和计算机对图像进一步的分析和处理 图像质量 的基本含义是指人们对一幅图像视觉感受的评价。图像增强的目的就是为了改善图像显示

    2024年02月04日
    浏览(57)
  • (数字图像处理MATLAB+Python)第五章图像增强-第四、五节:基于模糊技术和基于伪彩色处理的图像增强

    图像的模糊特征平面 :假设原始图像为 I ( x , y ) I(x,y) I ( x , y ) ,其中 x x x 和 y y y 分别表示图像的水平和垂直方向的坐标。模糊特征平面可以表示为 B ( x , y , θ ) B(x,y,theta) B ( x , y , θ ) ,其中 θ theta θ 是一个旋转角度参数,表示模糊核函数的旋转角度。 B ( x , y , θ ) B(x,

    2023年04月20日
    浏览(105)
  • (数字图像处理MATLAB+Python)第五章图像增强-第二节:基于直方图修正的图像增强

    基于直方图修正的图像增强 :是一种常见的图像处理方法。该方法通过对图像的像素值分布进行调整,以改善图像的对比度和亮度等视觉效果。具体地,直方图校正方法将图像的像素值转换为一个新的值域范围,使得像素值的分布更加均匀,从而增强图像的细节和对比度。这

    2023年04月19日
    浏览(57)
  • 数字图像处理实验之Matlab对图像的基本处理

    1、提取Lena图像的左半上角部分,与原始Lena图像在同一个figure中显示,并做适当命名 效果图 2、利用 imnoise , 对原始Lena图像叠加高斯噪声,产生4幅、14幅、140幅的含噪图像。对这些含噪图像采用 相加  运算,来验证、比较图像相加消除叠加性噪声的效果。将原始图像、1幅噪

    2024年02月03日
    浏览(63)
  • 数字图像处理之matlab实验(五):形态学图像处理

    常见的形态学处理包括腐蚀、膨胀、开运算、闭运算。不同的操作有不同的作用,同样的操作在不同类型的图片上也有不同效果,具体效果如下表格所示。要求熟练掌握对二值图像的形态学处理。 不同操作对不同类型图像处理效果 一、对二值图像进行处理 1、结构元素 在开

    2024年02月04日
    浏览(64)
  • 数字图像处理与Python实现-图像增强经典算法汇总

    本文将对图像增强经典算法做一个简单的汇总。图像增强的经典算法有:像素变换、图像逆变换、幂律变换、对数变换、图像均衡化、对比受限自适应直方图均衡(CLAHE)、对比度拉伸、Sigmoid校正、局部对比度归一化。 转换是将一组输入映射到一组输出的函数,这样每个输入

    2024年02月09日
    浏览(53)
  • MATLAB【数字图像处理】 实验一:图像处理基本操作(平移、放大、缩小、旋转、插值)

    1、熟悉并掌握MATLAB工具的使用;  2、实现图像的读取、显示、存储、平移、镜像、放大、缩小及旋转操作; 3、掌握常用的插值方法,并了解其优缺点。 Matlab 2020B 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分别显示RGB图像和灰度图像,注上文字标

    2024年02月06日
    浏览(49)
  • 数字图像处理之matlab实验(三):空间滤波器

    空间滤波,就是在原图像上,用一个固定尺寸的模板去做卷积运算,得到的新图像就是滤波结果。滤波,就是过滤某种信号的意思。过滤哪种信号取决于模板设计,如果是锐化模板,处理后就保留高频信号,如果是平滑模板,处理后就保留低频信号。 (1)模板运算 图像处理

    2024年04月28日
    浏览(50)
  • 数字图像处理 matlab图像的几何运算 实验三 旋转 缩放 裁剪 镜像变换 平移

    原图: 读取原图(这里我的图片名字是atm.png): 我们先说原理,图像旋转的本质是向量的旋转。 矩阵乘法的实质是进行线性变换,因此对一个向量进行旋转操作也可以通过矩阵和向量相乘的方式进行。 因为图像都是通过二维矩阵存放的(单通道),所以对图像进行旋转时

    2024年02月07日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包