社区
其他开发语言
帖子详情
matlab 一副图像的对比度值
读书僧
2017-11-04 10:59:30
用std 函数计算结果可以当成一副图像对比度值吗
下面是我根据这个公式自己写的对比度函数 结果和std函数不一样
...全文
2331
3
打赏
收藏
matlab 一副图像的对比度值
用std 函数计算结果可以当成一副图像对比度值吗 下面是我根据这个公式自己写的对比度函数 结果和std函数不一样
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
color 2F
2019-12-18
打赏
举报
回复
二维要用std2吧
碧水幽幽泉
2017-11-09
打赏
举报
回复
没遇到过,帮忙顶下。
碧水幽幽泉
2017-11-09
打赏
举报
回复
一看到这种公式,我就晕菜了。
老师布置的数字
图像
处理实验 c#(主要参考c#数字
图像
算法典型实例)
《
图像
处理与计算机视觉》课程简介 本课程是计算机专业研究生教学的“图象处理与计算机视觉”专业选修课程的配套实验课程,是以计算机专业研究生为教学对象,强调理论和上机实践相结合的一门课程。重点培养学生的编程实践和动手能力。 该课程将《图象处理与计算机视觉》课与VC++、
Matlab
等软件开发环境结合起来,实现
图像
处理的各种基本算法:
图像
变换、
图像
增强等。 该课程的主要实践上机内容包括如下几大部分: 1、
Matlab
工具箱的使用 2、 BMP文件结构分析与可视化编程 3、 二维Fourier变换 4、 灰度修正技术和锐化技术 5、
图像
抑制噪声技术 实验目标 将《数字
图像
处理课》与VC++、
Matlab
等软件开发环境结合起来,实现
图像
处理的各种基本算法:
图像
变换、
图像
增强等。 实验一:
Matlab
工具箱的使用 实验内容 实验一(A):
Matlab
图像
处理工具箱的使用 1.A=imread(filename,fmt) 读入
图像
文件; 2.imwrite(A,filename,fmt)输出
图像
; 3.imshow(I,n)
图像
显示; 实验一(B): BMP文件结构分析与可视化编程 1.文件的输入输出; 2.BMP文件结构; 3.基于MFC的
图像
可视化编程; 实验二:二维Fourier变换 实验内容 1. 选择
一副
图像
,利用下列这3个模块分别对该
图像
进行卷积运算,将卷积运算获得的
图像
与原始
图像
进行比较,说明各模块的类型以及模块(b)(c)的区别和联系。 1/9 1/9 1/9 0 -1 0 0 –-1 0 1/9 1/9 1/9 -1 5 -1 -1 4 -1 1/9 1/9 1/9 0 -1 0 0 –-1 0 (a) (b) (c) 2.选择一幅
图像
,对其进行离散Fourier变换,分别利用其相位谱,振幅谱重构原
图像
,比较实验结果;选择两幅不同类型的
图像
,分别进行Fourier变换,交换二者的相位谱后求反变换,比较实验结果,说明
图像
Fourier相位谱的重要性。 3.演示二维离散Fourier变换的主要性质。 二.实验目的: 1.掌握快速傅立叶变换方法。 2.熟练掌握频域滤波中常用的平滑和锐化滤波器; 3.
Matlab
中的函数: fft2; ifft2; fftshift; ifftshift; 三.实验要求: 请将实验用
图像
及源程序代码在网络教学平台上提交。 实验三:灰度修正技术和锐化技术 一.实验内容: 1.灰度变换:选择
一副
对比度
不足的
图像
,对该
图像
进行灰度变换,增强
对比度
,显示增强前、后的
图像
以及它们的灰度直方图。 2.直方图均衡:选择
一副
灰度直方图不均匀的
图像
,对该
图像
作直方图均衡处理,显示处理前后的
图像
以及他们的灰度直方图。 3.选择
一副
边缘较模糊的
图像
,利用高通滤波器(选择或自己设计)对此
图像
边缘增强,观察增强的效果。 二.实验目的: 对需要进行处理的
图像
分析,正确运用所学的知识,采用正确的步骤,对
图像
进行各类处理,以得到令人满意的
图像
效果。 1.掌握灰度直方图的概念及其计算方法; 2.熟练掌握直力图均衡化和直方图规定化的计算过程; 3.熟练掌握空域滤波中常用的平滑和锐化滤波器; 4.
Matlab
中的函数: imfilter;fspecial;imadjust;imadd;immultiply. Imhist;histeq;nlfilter;mean2;std2;fspecial;filter2;medfilt2; 三.实验要求: 请将实验用
图像
及源程序代码在网络教学平台上提交。 实验四:
图像
抑制噪声技术 一.实验内容 1.选择
一副
图像
,并叠加零均
值
高斯噪声,分别利用低通滤波器,维纳滤波器和中
值
滤波器对该有噪
图像
进行滤波,显示滤波后的
图像
,比较各滤波器的滤波效果。 2.选择
一副
图像
,并叠加椒盐噪声,分别用低通滤波器,中
值
滤波器对该
图像
进行滤波,比较滤波器的滤波效果。 3.设有
一副
叠加了零均
值
的高斯噪声的
图像
,设计一种处理方法,既能去噪声又能保持边缘清晰。 二.实验目的: 1.
Matlab
中的函数: imnoise; imfilter;fspecial; 三.实验要求: 请将实验用
图像
及源程序代码在网络教学平台上提交。
图像
增强的实现
1. 直方图均衡化的
Matlab
实现 1.1 imhist 函数 功能:计算和显示
图像
的色彩直方图 格式:imhist(I,n) imhist(X,map) 说明:imhist(I,n) 其中,n 为指定的灰度级数目,缺省
值
为256;imhist(X,map) 就算和显示索引色
图像
X 的直方图,map 为调色板。用 stem(x,counts) 同样可以显示直方图。 1.2 imcontour 函数 功能:显示
图像
的等灰度
值
图 格式:imcontour(I,n),imcontour(I,v) 说明:n 为灰度级的个数,v 是有用户指定所选的等灰度级向量。 1.3 imadjust 函数 功能:通过直方图变换调整
对比度
格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 说明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 为校正量r,[low high] 为原
图像
中要变换的灰度范围,[bottom top] 指定了变换后的灰度范围;newmap=imadjust(map,[low high],[bottom top],gamma) 调整索引色
图像
的调色板 map 。此时若 [low high] 和 [bottom top] 都为2×3的矩阵,则分别调整 R、G、B 3个分量。 1.4 histeq 函数 功能:直方图均衡化 格式:J=histeq(I,hgram) J=histeq(I,n) [J,T]=histeq(I,...) newmap=histeq(X,map,hgram) newmap=histeq(X,map) [new,T]=histeq(X,...) 说明:J=histeq(I,hgram) 实现了所谓“直方图规定化”,即将原是图象 I 的直方图变换成用户指定的向量 hgram 。hgram 中的每一个元素 都在 [0,1] 中;J=histeq(I,n) 指定均衡化后的灰度级数 n ,缺省
值
为 64;[J,T]=histeq(I,...) 返回从能将
图像
I 的灰度直方图变换成
图像
J 的直方图的变换 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是针对索引色
图像
调色板的直方图均衡。 2. 噪声及其噪声的
Matlab
实现 imnoise 函数 格式:J=imnoise(I,type) J=imnoise(I,type,parameter) 说明:J=imnoise(I,type) 返回对
图像
I 添加典型噪声后的有噪
图像
J ,参数 type 和 parameter 用于确定噪声的类型和相应的参数。 3.
图像
滤波的
Matlab
实现 3.1 conv2 函数 功能:计算二维卷积 格式:C=conv2(A,B) C=conv2(Hcol,Hrow,A) C=conv2(...,'shape') 说明:对于 C=conv2(A,B) ,conv2 的算矩阵 A 和 B 的卷积,若 [Ma,Na]=size(A), [Mb,Nb]=size(B), 则 size(C)=[Ma+Mb-1,Na+Nb-1]; C=conv2(Hcol,Hrow,A) 中,矩阵 A 分别与 Hcol 向量在列方向和 Hrow 向量在行方向上进行卷积;C=conv2(...,'shape') 用来指定 conv2 返回二维卷积结果部分,参数 shape 可取
值
如下: 》full 为缺省
值
,返回二维卷积的全部结果; 》same 返回二维卷积结果中与 A 大小相同的中间部分; valid 返回在卷积过程中,未使用边缘补 0 部分进行计算的卷积结果部分,当 size(A)>size(B) 时,size(C)=[Ma-Mb+1,Na-Nb+1] 。 3.2 conv 函数 功能:计算多维卷积 格式:与 conv2 函数相同 3.3 filter2函数 功能:计算二维线型数字滤波,它与函数 fspecial 连用 格式:Y=filter2(B,X) Y=filter2(B,X,'shape') 说明:对于 Y=filter2(B,X) ,filter2 使用矩阵 B 中的二维 FIR 滤波器对数据 X 进行滤波,结果 Y 是通过二维互相关计算出来的,其大 小与 X 一样;对于 Y=filter2(B,X,'shape') ,filter2 返回的 Y 是通过二维互相关计算出来的,其大小由参数 shape 确定,其取
值
如下 : 》full 返回二维相关的全部结果,size(Y)>size(X); 》same 返回二维互相关结果的中间部分,Y 与 X 大小相同; 》valid 返回在二维互相关过程中,未使用边缘补 0 部分进行计算的结果部分,有 size(Y)
值滤波器 H=fspecial('unsharp',alpha) 模糊对比增强滤波器 说明:对于形式 H=fspecial(type) ,fspecial 函数产生一个由 type 指定的二维滤波器 H ,返回的 H 常与其它滤波器搭配使用。 4. 彩色增强的
Matlab
实现 4.1 imfilter函数 功能:真彩色增强 格式:B=imfilter(A,h) 说明:将原始
图像
A 按指定的滤波器 h 进行滤波增强处理,增强后的
图像
B 与 A 的尺寸和类型相同
图像
的变换 1. 离散傅立叶变换的
Matlab
实现
Matlab
函数 fft、fft2 和 fftn 分别可以实现一维、二维和 N 维 DFT 算法;而函数 ifft、ifft2 和 ifftn 则用来计算反 DFT 。 这些函数的调用格式如下: A=fft(X,N,DIM) 其中,X 表示输入
图像
;N 表示采样间隔点,如果 X 小于该数
值
,那么
Matlab
将会对 X 进行零填充,否则将进行截取,使之长度为 N ;DIM 表示要进行离散傅立叶变换。 A=fft2(X,MROWS,NCOLS) 其中,MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。 A=fftn(X,SIZE) 其中,SIZE 是一个向量,它们每一个元素都将指定 X 相应维进行零填充后的长度。 函数 ifft、ifft2 和 ifftn的调用格式于对应的离散傅立叶变换函数一致。 例子:
图像
的二维傅立叶频谱 % 读入原始
图像
I=imread('lena.bmp'); imshow(I) % 求离散傅立叶频谱 J=fftshift(fft2(I)); figure; imshow(log(abs(J)),[8,10]) 2. 离散余弦变换的
Matlab
实现 2.1. dCT2 函数 功能:二维 DCT 变换 格式:B=dct2(A) B=dct2(A,m,n) B=dct2(A,[m,n]) 说明:B=dct2(A) 计算 A 的 DCT 变换 B ,A 与 B 的大小相同;B=dct2(A,m,n) 和 B=dct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大 小为 m×n。 2.2. dict2 函数 功能:DCT 反变换 格式:B=idct2(A) B=idct2(A,m,n) B=idct2(A,[m,n]) 说明:B=idct2(A) 计算 A 的 DCT 反变换 B ,A 与 B 的大小相同;B=idct2(A,m,n) 和 B=idct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为 m×n。 2.3. dctmtx函数 功能:计算 DCT 变换矩阵 格式:D=dctmtx(n) 说明:D=dctmtx(n) 返回一个 n×n 的 DCT 变换矩阵,输出矩阵 D 为 double 类型。 3.
图像
小波变换的
Matlab
实现 3.1 一维小波变换的
Matlab
实现 (1) dwt 函数 功能:一维离散小波变换 格式:[cA,cD]=dwt(X,'wname') [cA,cD]=dwt(X,Lo_D,Hi_D) 说明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号 X 进行分解,cA、cD 分别为近似分量和细节分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信号进行分解。 (2) idwt 函数 功能:一维离散小波反变换 格式:X=idwt(cA,cD,'wname') X=idwt(cA,cD,Lo_R,Hi_R) X=idwt(cA,cD,'wname',L) X=idwt(cA,cD,Lo_R,Hi_R,L) 说明:X=idwt(cA,cD,'wname') 由近似分量 cA 和细节分量 cD 经小波反变换重构原始信号 X 。 'wname' 为所选的小波函数 X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重构滤波器 Lo_R 和 Hi_R 经小波反变换重构原始信号 X 。 X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信号 X 中心附近的 L 个点。 3.2 二维小波变换的
Matlab
实现 二维小波变换的函数 ------------------------------------------------- 函数名 函数功能 --------------------------------------------------- dwt2 二维离散小波变换 wavedec2 二维信号的多层小波分解 idwt2 二维离散小波反变换 waverec2 二维信号的多层小波重构 wrcoef2 由多层小波分解重构某一层的分解信号 upcoef2 由多层小波分解重构近似分量或细节分量 detcoef2 提取二维信号小波分解的细节分量 appcoef2 提取二维信号小波分解的近似分量 upwlev2 二维小波分解的单层重构 dwtpet2 二维周期小波变换 idwtper2 二维周期小波反变换 ------------------------------------------------------------- (1) wcodemat 函数 功能:对数据矩阵进行伪彩色编码 格式:Y=wcodemat(X,NB,OPT,ABSOL) Y=wcodemat(X,NB,OPT) Y=wcodemat(X,NB) Y=wcodemat(X) 说明:Y=wcodemat(X,NB,OPT,ABSOL) 返回数据矩阵 X 的编码矩阵 Y ;NB 伪编码的最大
值
,即编码范围为 0~NB,缺省
值
NB=16; OPT 指定了编码的方式(缺省
值
为 'mat'),即: OPT='row' ,按行编码 OPT='col' ,按列编码 OPT='mat' ,按整个矩阵编码 ABSOL 是函数的控制参数(缺省
值
为 '1'),即: ABSOL=0 时,返回编码矩阵 ABSOL=1 时,返回数据矩阵的绝对
值
ABS(X) (2) dwt2 函数 功能:二维离散小波变换 格式:[cA,cH,cV,cD]=dwt2(X,'wname') [cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 说明:[cA,cH,cV,cD]=dwt2(X,'wname')使用指定的小波基函数 'wname' 对二维信号 X 进行二维离散小波变幻;cA,cH,cV,cD 分别为近似分 量、水平细节分量、垂直细节分量和对角细节分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分 解信号 X 。 (3) wavedec2 函数 功能:二维信号的多层小波分解 格式:[C,S]=wavedec2(X,N,'wname') [C,S]=wavedec2(X,N,Lo_D,Hi_D) 说明:[C,S]=wavedec2(X,N,'wname') 使用小波基函数 'wname' 对二维信号 X 进行 N 层分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D) 使用指定 的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。 (4) idwt2 函数 功能:二维离散小波反变换 格式:X=idwt2(cA,cH,cV,cD,'wname') X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R) X=idwt2(cA,cH,cV,cD,'wname',S) X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S) 说明:X=idwt2(cA,cH,cV,cD,'wname') 由信号小波分解的近似信号 cA 和细节信号 cH、cH、cV、cD 经小波反变换重构原信号 X ;X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R) 使用指定的重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号 X ;X=idwt2(cA,cH,cV,cD,'wname',S) 和 X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S) 返回中心附近的 S 个数据点。 (5) waverec2 函数 说明:二维信号的多层小波重构 格式:X=waverec2(C,S,'wname') X=waverec2(C,S,Lo_R,Hi_R) 说明:X=waverec2(C,S,'wname') 由多层二维小波分解的结果 C、S 重构原始信号 X ,'wname' 为使用的小波基函数;X=waverec2(C,S,Lo_R,Hi_R) 使用重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号。
图像
处理工具箱 1.
图像
和
图像
数据 缺省情况下,
MATLAB
将
图像
中的数据存储为双精度类型(double),64位浮点 数,所需存储量很大;
MATLAB
还支持另一种类型无符号整型(uint8),即
图像
矩 阵中每个数据占用1个字节。 在使用
MATLAB
工具箱时,一定要注意函数所要求的参数类型。另外,uint8 与double两种类型数据的
值
域不同,编程需注意
值
域转换。 从uint8到double的转换 ---------------------------------------------
图像
类型
MATLAB
语句 --------------------------------------------- 索引色 B=double(A)+1 索引色或真彩色 B=double(A)/255 二
值
图像
B=double(A) --------------------------------------------- 从double到uint8的转换 ---------------------------------------------
图像
类型
MATLAB
语句 --------------------------------------------- 索引色 B=uint8(round(A-1)) 索引色或真彩色 B=uint8(round(A*255)) 二
值
图像
B=logical(uint8(round(A))) --------------------------------------------- 2.
图像
处理工具箱所支持的
图像
类型 2.1 真彩色
图像
R、G、B三个分量表示一个像素的颜色。如果要读取
图像
中(100,50)处的像素
值
, 可查看三元数据(100,50,1:3)。 真彩色
图像
可用双精度存储,亮度
值
范围是[0,1];比较符合习惯的存储方法是用无 符号整型存储,亮度
值
范围[0,255] 2.2 索引色
图像
包含两个结构,一个是调色板,另一个是
图像
数据矩阵。调色板是一个有3列和若干行 的色彩映象矩阵,矩阵每行代表一种颜色,3列分别代表红、绿、蓝色强度的双精度数。 注意:
MATLAB
中调色板色彩强度[0,1],0代表最暗,1代表最亮。 常用颜色的RGB
值
-------------------------------------------- 颜色 R G B 颜色 R G B -------------------------------------------- 黑 0 0 1 洋红 1 0 1 白 1 1 1 青蓝 0 1 1 红 1 0 0 天蓝 0.67 0 1 绿 0 1 0 橘黄 1 0.5 0 蓝 0 0 1 深红 0.5 0 0 黄 1 1 0 灰 0.5 0.5 0.5 -------------------------------------------- 产生标准调色板的函数 ------------------------------------------------- 函数名 调色板 ------------------------------------------------- Hsv 色彩饱和度,以红色开始,并以红色结束 Hot 黑色-红色-黄色-白色 Cool 青蓝和洋红的色度 Pink 粉红的色度 Gray 线型灰度 Bone 带蓝色的灰度 Jet Hsv的一种变形,以蓝色开始,以蓝色结束 Copper 线型铜色度 Prim 三棱镜,交替为红、橘黄、黄、绿和天蓝 Flag 交替为红、白、蓝和黑 -------------------------------------------------- 缺省情况下,调用上述函数灰产生一个64×3的调色板,用户也可指定调色板大小。 索引色
图像
数据也有double和uint8两种类型。 当
图像
数据为double类型时,
值
1代表调色板中的第1行,
值
2代表第2行…… 如果
图像
数据为uint8类型,0代表调色板的第一行,,
值
1代表第2行…… 2.3 灰度
图像
存储灰度
图像
只需要一个数据矩阵。 数据类型可以是double,[0,1];也可以是uint8,[0,255] 2.4 二
值
图像
二
值
图像
只需一个数据矩阵,每个像素只有两个灰度
值
,可以采用uint8或double类型存储。
MATLAB
工具箱中以二
值
图像
作为返回结果的函数都使用uint8类型。 2.5
图像
序列
MATLAB
工具箱支持将多帧
图像
连接成
图像
序列。
图像
序列是一个4维数组,
图像
帧的序号在
图像
的长、宽、颜色深度之后构成第4维。 分散的
图像
也可以合并成
图像
序列,前提是各
图像
尺寸必须相同,若是索引色
图像
, 调色板也必须相同。 可参考cat()函数 A=cat(4,A1,A2,A3,A4,A5) 3.
MATLAB
图像
类型转换
图像
类型转换函数 --------------------------------------------------------------------------- 函数名 函数功能 --------------------------------------------------------------------------- dither
图像
抖动,将灰度图变成二
值
图,或将真彩色
图像
抖动成索引色
图像
gray2ind 将灰度
图像
转换成索引
图像
grayslice 通过设定阈
值
将灰度
图像
转换成索引色
图像
im2bw 通过设定亮度阈
值
将真彩色、索引色、灰度图转换成二
值
图 ind2gray 将索引色
图像
转换成灰度
图像
ind2rgb 将索引色
图像
转换成真彩色
图像
mat2gray 将一个数据矩阵转换成
一副
灰度图 rgb2gray 将
一副
真彩色
图像
转换成灰度
图像
rgb2ind 将真彩色
图像
转换成索引色
图像
---------------------------------------------------------------------------- 4.
图像
文件的读写和查询 4.1 图形
图像
文件的读取 利用函数imread()可完成图形
图像
文件的读取,语法: A=imread(filename,fmt) [X,map]=imread(filename,fmt) [...]=imread(filename) [...]=imread(filename,idx) (只对TIF格式的文件) [...]=imread(filename,ref) (只对HDF格式的文件) 通常,读取的大多数
图像
均为8bit,当这些
图像
加载到内存中时,
Matlab
就将其存放 在类uint8中。此为
Matlab
还支持16bit的PNG和TIF
图像
,当读取这类文件时,
Matlab
就将 其存贮在uint16中。 注意:对于索引
图像
,即使
图像
阵列的本身为类uint8或类uint16,imread函数仍将 颜色映象表读取并存贮到一个双精度的浮点类型的阵列中。 4.2 图形
图像
文件的写入 使用imwrite函数,语法如下: imwrite(A,filename,fmt) imwrite(X,map,filename,fmt) imwrite(...,filename) imwrite(...,parameter,value) 当利用imwrite函数保存
图像
时,
Matlab
缺省的方式是将其简化道uint8的数据格式。 4.3 图形
图像
文件信息的查询 imfinfo()函数 5.
图像
文件的显示 5.1 索引
图像
及其显示 方法一: image(X) colormap(map) 方法二: imshow(X,map) 5.2 灰度
图像
及其显示
Matlab
7.0 中,要显示
一副
灰度
图像
,可以调用函数 imshow 或 imagesc (即 imagescale,
图像
缩放函数) (1) imshow 函数显示灰度
图像
使用 imshow(I) 或 使用明确指定的灰度级书目:imshow(I,32) 由于
Matlab
自动对灰度
图像
进行标度以适合调色板的范围,因而可以使用自定义 大小的调色板。其调用格式如下: imshow(I,[low,high]) 其中,low 和 high 分别为数据数组的最小
值
和最大
值
。 (2) imagesc 函数显示灰度
图像
下面的代码是具有两个输入参数的 imagesc 函数显示
一副
灰度
图像
imagesc(1,[0,1]); colormap(gray); imagesc 函数中的第二个参数确定灰度范围。灰度范围中的第一个
值
(通常是0), 对应于颜色映象表中的第一个
值
(颜色),第二个
值
(通常是1)则对应与颜色映象表 中的最后一个
值
(颜色)。灰度范围中间的
值
则线型对应与颜色映象表中剩余的
值
(颜色)。 在调用 imagesc 函数时,若只使用一个参数,可以用任意灰度范围显示
图像
。在该 调用方式下,数据矩阵中的最小
值
对应于颜色映象表中的第一个颜色
值
,数据矩阵中的最大
值
对应于颜色映象表中的最后一个颜色
值
。 5.3 RGB
图像
及其显示 (1) image(RGB) 不管RGB
图像
的类型是double浮点型,还是 uint8 或 uint16 无符号整数型,
Matlab
都 能通过 image 函数将其正确显示出来。 RGB8 = uint8(round(RGB64×255)); % 将 double 浮点型转换为 uint8 无符号整型 RGB64 = double(RGB8)/255; % 将 uint8 无符号整型转换为 double 浮点型 RGB16 = uint16(round(RGB64×65535)); % 将 double 浮点型转换为 uint16 无符号整型 RGB64 = double(RGB16)/65535; % 将 uint16 无符号整型转换为 double 浮点型 (2) imshow(RGB) 参数是一个 m×n×3 的数组 5.4 二进制
图像
及其显示 (1) imshow(BW) 在
Matlab
7.0 中,二进制
图像
是一个逻辑类,仅包括 0 和 1 两个数
值
。像素 0 显示 为黑色,像素 1 显示为白色。 显示时,也可通过NOT(~)命令,对二进制图象进行取反,使数
值
0 显示为白色;1 显示 为黑色。 例如: imshow(~BW) (2) 此外,还可以使用一个调色板显示
一副
二进制
图像
。如果图形是 uint8 数据类型, 则数
值
0 显示为调色板的第一个颜色,数
值
1 显示为第二个颜色。 例如: imshow(BW,[1 0 0;0 0 1]) 5.5 直接从磁盘显示
图像
可使用一下命令直接进行
图像
文件的显示: imshow filename 其中,filename 为要显示的
图像
文件的文件名。 如果
图像
是多帧的,那么 imshow 将仅显示第一帧。但需注意,在使用这种方式时,
图像
数据没有保存在
Matlab
7.0 工作平台。如果希望将
图像
装入工作台中,需使用 getimage 函 数,从当前的句柄图形
图像
对象中获取
图像
数据, 命令形式为: rgb = getimage; bwlabel 功能: 标注二进制
图像
中已连接的部分。 L = bwlabel(BW,n) [L,num] = bwlabel(BW,n) isbw 功能: 判断是否为二进制
图像
。 语法: flag = isbw(A) 相关命令: isind, isgray, isrgb 74.isgray 功能: 判断是否为灰度
图像
。 语法: flag = isgray(A) 相关命令: isbw, isind, isrgb 11.bwselect 功能: 在二进制
图像
中选择对象。 语法: BW2 = bwselect(BW1,c,r,n) BW2 = bwselect(BW1,n) [BW2,idx] = bwselect(...) 举例 BW1 = imread('text.tif'); c = [16 90 144]; r = [85 197 247]; BW2 = bwselect(BW1,c,r,4); imshow(BW1) figure, imshow(BW2) 47.im2bw 功能: 转换
图像
为二进制
图像
。 语法: BW = im2bw(I,level) BW = im2bw(X,map,level) BW = im2bw(RGB,level) 举例 load trees BW = im2bw(X,map,0.4); imshow(X,map)
基于信息冗余的小波红外
图像
去噪算法 (2013年)
红外
图像
具有
图像
灰度集中?
对比度
低等特点,因而红外
图像
增强是红外
图像
应用必不缺少的部分,随之而来的是
图像
噪声的放大,为了进一步提高红外
图像
质量,需对增强后
图像
去噪?现有众多去噪方法中,极少同时兼顾算法效果及可实现性?提出了一种基于信息冗余的小波去噪算法,此算法在离散小波变化(DWT)过程中分别以不同的下采样方式获取多组含有相似冗余信息的小波系数,再利用噪声估计对小波系数进行非线性变换,抑制高频噪声并保留细节,然后利用变换后小波系数重构(IDWT)多副
图像
,利用含相似冗余信息的多副
图像
加权进一步去除高频噪声
matlab
代码黄色-Fruit-Recognition:数字
图像
处理
matlab
代码黄色 水果识别 摘要: 本项目针对多种常见水果混合的
图像
,利用
Matlab
软件,对水果的识别进行研究。根据水果和背景的差别选取阈
值
,对去噪增强
对比度
后的
图像
进行二
值
化处理。再对
图像
进行边缘检测,选定连通区域,标记后再对不同种水果的颜色,形状,大小等特征进行快速识别水果,从而实现对水果的正确分拣。 关键字:水果识别、
MATLAB
、数字
图像
处理 一、设计方案 在计算机中,
图像
由像素逐点描述,每个像素点都有一个明确的位置和色彩数
值
。使用
Matlab
软件读取
图像
,以矩阵形式存放
图像
数据,其扫描规则是从左向右,从上到下。 对于
一副
水果
图像
为了处理方便,我们首先要把彩色
图像
转化为灰度
图像
。然后对
图像
进行二
值
化处理来获得每个水果的区域特征。 在水果与背景接触处二
值
化会导致
图像
边缘部分有断裂,毛躁的部分。所以采用边缘提取以弥补断裂的边缘部分,然后基于数学形态算子对
图像
进行去除断边,
图像
填充等必要的后续处理。经过
图像
分割后,水果和背景很明显地被区分开来,然后需要对每种水果的特征进行提取。 先对
图像
进行标签化,所谓
图像
的标签化是指对
图像
中互相连通的所有像素赋予同样的标号。经过标签
腐蚀
matlab
代码-opencv:OpenCV
腐蚀
matlab
代码 一、作业要求: 采用
MATLAB
或opencv+C编程实现。每一题写明题目,给出试验程序代码,实验结果图片命名区分并作出效果比对,最后实验总结说明每一题蕴含的
图像
处理方法的效果以及应用场合等。 采用
MATLAB
编程比采用opencv+C编程得分低;如果
MATLAB
或opencv+C只在读入图片时采用自带函数(算法核心部分自己独立编程)的,得分高。 二、实验题目: 把一幅灰度
图像
的垂直分辨率和水平分辨率都变为原来的一半,生成
一副
新的
图像
。 把一幅灰度
图像
进行平移。 把一幅灰度
图像
进行旋转。(选做) 把一幅彩色
图像
的R、G、B分量单独显示。 把一幅彩色
图像
的H、S、I分量单独显示。 对一幅灰度
图像
进行离散傅里叶变换,用
图像
的形式显示其(中心化后的)频谱。改变频谱,在进行 反变换,观察变换前后的区别 对一幅灰度
图像
进行离散余弦变换,用
图像
的形式显示其变换系数。变换后去掉小于系数最大
值
60% 、80%、90%的系数,在进行反变换,观察变换前后
图像
区别。 对一幅灰度
图像
进行灰度对数变换。观察变换前后高、低灰度位置的变化并解释原因。 对一幅
对比度
差的
图像
进行灰度均衡化。
其他开发语言
3,423
社区成员
15,635
社区内容
发帖
与我相关
我的任务
其他开发语言
其他开发语言 其他开发语言
复制链接
扫一扫
分享
社区描述
其他开发语言 其他开发语言
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章