基于MATLAB的数字图像处理的彩色图像处理

2022-07-25 12:39:52   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《基于MATLAB的数字图像处理的彩色图像处理》,欢迎阅读!
图像处理,彩色,基于,数字,MATLAB


南京信息工程大学滨江学院

基于MATLAB的数字图像处理

的彩色图像处理

业: 电子工程

学生姓名: *** 指导教师: *** 完成时间:2022426


摘要

20世纪70年代以来,由于数字技术和计算机技术的迅猛发展,数字图像处理(Digital Image Processing)提供了先进的技术手段。图像科学信息处理、自动控制系统理论计算机科学、数据通信等学科中脱颖而出,成为研究图像信息的获取、传输、存储、变换、显示、理解和综合利用的新兴学科数字图像处理在实际中得到了广应用。特别是在遥感、航空航天、通信、生物和医学、安全监控、工业生产视频和多媒体、机器人视觉、物理化学分析、公安和军事等领域.它在国家安全、经济发展和日常生活中已经起到越来越重要的作用。

由于彩色图像提供了比灰度图像更为丰富的信息,因此彩色图像处理正受到人们越来越多的关注。

关键字

颜色空间 彩色图像分割 彩色空间转换 彩色变换


目录

引言……………………………………………………………………1

1 MATLAB图像处理工具箱及数字图像处理基本过程简介…………2 1.1 常用图像操作…………………………………………………… 2 1.2 图像增强功能…………………………………………………… 2 1.3边缘检测和图像分割功能……………………………………… 3 1,4图像变换功能…………………………………………………… 4 2 MATLAB中彩色图像表示……………………………………………4 2.1RGB图像……………………………………………………………4 2.2索引图像……………………………………………………………6 2.3处理RGB和索引图像………………………………………………6 3 彩色图像处理…………………………………………………………6 3.1读入一幅RGB图像,将其分别转换到CMY空间、HSI空间并显示………6 3.2彩色空间滤波………………………………………………………8 参考文献………………………………………………………………9 致谢………………………………………………………………………9






引言

MATLAB 语言是由美国MathWorks 公司推出的计算机软件经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件一, 是近几年来在国内外广泛流行的一种可视化科学计算软件它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。MathWorks 公司针对不同领域的应用,推出了信号处理、控制系统、神经网络、图像处理、小波分析、鲁棒控制、非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信30 多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序, 可直接对工具箱进行运用。同时,工具箱内的函数源程序也是开放性的,多为M 文件,用户可以查看这些文件的代码并进行更改,MALAB 支持用户对其函数进行二次开发, 用户的应用程序也可以作为新的函数添加到相应的工具箱中。MATLAB 中的数字图像是以矩阵形式表示的,这意味着MATLAB 强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MATLAB 中的数字图像同样适用。本文对MATLAB 图像处理工具箱进行探索及应用实验证明该软件功能强大,语言简洁易学,人机界面友好,工具箱具有丰富的技

术支持并集成了该领域专家的智慧,应用简单而效果良好。



.1.


1 MATLAB 图像处理工具箱及数字图像处理基本过程简介

数字图像处理工具箱函数包括以下15 :⑴、图像显示函数;⑵、图像文件输入、输出函数;⑶、图像几何操作函数;⑷、图像像素值及统计函数;⑸、图像分析函数;⑹、图像增强函数;⑺、线性滤波函数;⑻、二维线性滤波器设计函数;⑼、图像变换函数;⑽、图像邻域及块操作函数;⑾、二值图像操作函数;⑿、基于区域的图像处理函数;⒀、颜色图操作函数;⒁、颜色空间转换函数;⒂、图像类型和类型转换函数。

MATLAB 图像处理工具箱支持四种图像类型, 分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制, 这四种类型可以用工具箱的类型转换函数相互转换。MATLAB 可操作的图像文件包括JPGHDFJPEGPCXTIFFXWD 等格式。下面就图像处理的基本过程讨论工具箱所实现的常用功能。

1.1. 常用图像操作

图像的读写与显示操作:imread( )读取图像,imwrite( )输出图像,把图像显示于屏幕有imshow( )image( )等函数。imcrop()对图像进行裁剪,图像的插值缩放可用imresize( )函数实现,旋转用imrotate( )实现。

1.2. 图像增强功能:

图像增强是数字图像处理过程中常用的一种方法, 目的是采用一系列技术去改善图像的视觉效果或将图像转换成一种更适合于人眼观察和机器自动分析的形式。常用的图像增强方法有以下几种: 1)灰度直方图均衡化

均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大, 使得图像中较暗区域中的细节看不清楚, 采用直方图修整可使原图像灰度集中的区域



.2.


拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰,达到增强目的。直方图均衡化可用histeq( )函数实现。 2)灰度变换法

照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗, 此需要对图像中的每一像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的。这一灰度调整过程可用imadjust( )函数实现。 3)平滑与锐化滤波

平滑技术用于平滑图像中的噪声,基本采用在空间域上的求平均值或中值。或在频域上采取低通滤波,因在灰度连续变化的图像中, 我们通常认为与相邻像素灰度相差很大的突变点为噪声点,灰度突变代表了一种高频分量,低通滤波则可以削弱图像的高频成分,平滑了图像信号,但也可能使图像目标区域的边界变得模糊。而锐化技术采用的是频域上的高通滤波方法,通过增强高频成分减少图像中的模糊,特别是模糊的边缘部分得到了增强, 但同时也放大了图像的噪声。MATLAB 中,各种滤波方法都是在空间域中通过不同的卷积模板即滤波算子实现,可用fspecial( )函数创建预定义的滤波算子,然后用filter2( )conv2( )数在实现卷积运算的基础上进行滤波。

1.3. 边缘检测和图像分割功能

边缘检测是一种重要的区域处理方法, 边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。如果一个像素落在边界上, 那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向。边缘检测算子可以检查每个像素的邻域并对灰度变化率进行量化,也包括对方向的确定,其中大多数是基于方向导数掩模求卷积的方法。MATLAB 工具箱提供的edge( )函数可针对sobel算子、prewitt 算子、Roberts 算子、log 子和canny 算子实现检测边缘的功能。基于灰度的图像分割方法也可以用简单MATLAB 代码实现。



.3.


1.4. 图像变换功能

图像变换技术是图像处理的重要工具,常运用于图像压缩、滤波、编码和后续的特征抽取或信息分析过程。MATLAB 工具箱提供了常用的变换函数,如fft2( )ifft2( )函数分别实现二维快速傅立叶变换与其逆变换,dct2( )idct2( )函数实现二维离散余弦变换与其逆变换, Radon( )iradon( )函数实现Radon换与逆Radon 变换。除了以上基本的图像处理功能,MATLAB 还提供了如二值图像的膨胀运算dilate( )函数、腐蚀运算erode( )函数等基于数学形态学与二值图像的操作函数。

2.MATLAB种彩色图像的表示



2.1RGB图像

rgb_image = cat(3, fR, fG, fB) fR = rgb_image(:, :, 1); fG = rgb_image(:, :, 2); fB = rgb_image(:, :, 3);







%% 生成RGB立方体 clc clear

rgbcube(-10,-10,4);%3个参数表示观看图像视角的点坐标 axis on; %坐标轴范围 g rid on; %画图时添加网格线

.4.




title('RGB立方体1');

figure,rgbcube(10,10,4);%10,10,4是默认的坐标 axis on;grid on; title('RGB立方体2'); 实验结果:



.5.




2.2索引图像

索引图像有两个分量,即整数的数据矩阵X和彩色映射矩阵map



2.3处理RGB和索引图像的函数

rgb_image表示RGB图像,gray_image表示灰度图像,bw表示黑白图像,X表示索引图像的数据矩阵分量。

函数: dither:采用“抖动”从RGB图像创建索引图像 grayslice: 从灰度级亮度图像通过多级阈值创建索引图像 gray2ind: 从灰度级亮度图像创建索引图像 ind2gray: 从索引图像创建灰度级亮度图像 rgb2ind: RGB图像创建索引图像 ind2rgb: 从索引图像创建RGB图像 rgb2gray: RGB图像创建灰度级图像

3彩色图像处理

3.1读入一幅RGB图像,将其分别转换到CMY空间、HSI空间并显示。



.6.




转换到CMY空间

rgb_I=imread('peppers.png'); cmy_I=imcomplement(rgb_I); imshow(rgb_I); figure; imshow(cmy_I);



HSI空间 figure;

rgb=imread('peppers.png'); imshow(rgb); rgb=im2double(rgb); r=rgb(:,:,1); g=rgb(:,:,2); b=rgb(:,:,3); I=(r+g+b)/3;

tmp1=min(min(r,g),b); tmp2=r+g+b; tmp2(tmp2==0)=eps;

s=1-3.*tmp1./tmp2; tmp1=0.5*((r-g)+(r-b)); tmp1=sqrt((r-g).^2+(r-b).*(g-b)); theta=acos(tmp1./(tmp2+eps)); h=theta; h(b>g)=2*pi-h(b>g); h=h/(2*pi);

h(s==0)=0; hsi=cat(3,h,s,I);

imshow(h);

figure;

imshow(s); figure; imshow(I);



.7.




3,2彩色图像的空间滤波

rgb=imread('peppers.png'); figure;

imshow(rgb);

r=rgb(:,:,1); %平滑滤波 g=rgb(:,:,2); b=rgb(:,:,3); figure;

imshow(r);

figure; imshow(g); figure; imshow(b);

m=fspecial('average'); r_filtered=imfilter(r,m); g_filtered=imfilter(g,m); b_filtered=imfilter(b,m);

rgb_filtered=cat(3,r_filtered,g_filtered,b_filtered); figure;

imshow(rgb_filtered);

lapMatrix=[1 1 1;1 -8 1;1 1 1];

i_tmp=imfilter(rgb,lapMatrix,'replicate'); i_sharped=imsubtract(rgb,i_tmp); figure;

imshow(i_sharped);



.8.


参考文献

[1]王新成.高级图像处理技术[M] .北京:中国科学技术出版社.200118-90; [2] Kenneth.R.Castleman.数字图像处理技术[M].北京:电子工业出版社.199814-16;

[4]冈萨雷斯 伍兹 数字图像处理(MATLAB版)(第二版)2013

致谢

感谢王老师的辛勤指导

.9.


本文来源:https://www.wddqxz.cn/2fa7932aa5c30c22590102020740be1e650eccb4.html

相关推荐