MATLAB图像滤波去噪分析及其应用

2017-03-28  by:CAE仿真在线  来源:互联网

《MATLAB图像滤波去噪分析及其应用》,双线性滤波、Kirsch滤波、超限邻域滤波、逆滤波、双边滤波、同态滤波、小波滤波、六抽头滤波、约束最小平方滤波、非线性复扩散滤波、Lee滤波、Gabor滤波、Wiener滤波、Kuwahara滤波、Beltrami流滤波、Lucy Richardson滤波、NoLocalMeans滤波等研究内容。

《MATLAB图像滤波去噪分析及其应用》全面而系统地讲解了MATLAB图像滤波去噪分析及其应用;结合算法理论,详解算法代码(代码全部可执行且验证通过),以帮助读者更好地学习本书内容。对于网上讨论的大部分疑难问题,本书均有涉及。

由此编写YIQRGB颜色空间的函数程序如下:

function im1 = yiq2rgb(im)

% 转化矩阵

T = [0.299,0.587,0.114;

0.595716,-0.274453,-0.321263;

0.211456,-0.522591,0.311135]; % 矩阵系数

Ta = [0;0;0];

TT = inv(T); % 求逆矩阵

Tb = TT*Ta;

Y = im(:,:,1); % Y

I = im(:,:,2); % I

Q = im(:,:,3); % Q

Y = im2double(Y); % 转化为double类型

I = im2double(I); % 转化为double类型

Q = im2double(Q); % 转化为double类型

R = -Tb(1,1) + TT(1,1).* Y + TT(1,2).*I + TT(1,3).*Q;

G = -Tb(2,1) + TT(2,1).* Y + TT(2,2).*I + TT(2,3).*Q;

B = -Tb(3,1) + TT(3,1).* Y + TT(3,2).*I + TT(3,3).*Q;

R = mat2gray(R); % 灰度值 转化为 0 - 1之间

G = mat2gray(G); % 灰度值 转化为 0 - 1之间

B = mat2gray(B); % 灰度值 转化为 0 - 1之间

im1(:,:,1) = R;

im1(:,:,2) = G;

im1(:,:,3) = B;

im1 = im2uint8(im1); % 类型转换

调用该函数,程序如下:

%% YIQ --> RGB

clc,clear,close all % 清理命令区、清理工作区、关闭显示图形

warning off % 消除警告

feature jit off % 加速代码运行

im = imread('coloredChips.png');

im1 = rgb2yiq(im); % RGB转化为YIQ

figure('color',[1,1,1])

subplot(121),imshow(im1,[]);title('YIQ')

im2 = yiq2rgb(im1);

subplot(122),imshow(im2,[]);title('RGB')

运行程序输出图形如图1-38所示。


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:MATLAB图像滤波去噪分析及其应用 MatLab培训 MatLab培训课程 MatLab在线视频教程 MatLab技术学习教程 MatLab软件教程 MatLab资料下载 MatLab代做 MatLab基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com