Matlab图像相关笔记

Posted Steve_Nash

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab图像相关笔记相关的知识,希望对你有一定的参考价值。

  • 提取RGB分量,并显示出来
rgb=imread(\'mao.jpg\');
rgb_r=rgb(:,:,1);
rgb_g=rgb(:,:,2);
rgb_b=rgb(:,:,3);
zero=zeros(400,600);
R=cat(3,rgb_r,zero,zero);
G=cat(3,zero,rgb_g,zero);
B=cat(3,zero,zero,rgb_b);
RGB=cat(3,rgb_r,rgb_g,rgb_b);
subplot(2,2,1),imshow(R),title(\'红色分量\');
subplot(2,2,2),imshow(G),title(\'绿色分量\');
subplot(2,2,3),imshow(B),title(\'蓝色分量\');
subplot(2,2,4),imshow(RGB);

  • 加入椒盐噪声
I=imread(\'rr.jpg\');
J=imnoise(I,\'salt & pepper\',0.09);

  • subplot

将多个图画到一个平面上。subplot(m,n,p)m表示是图排成m行,n表示图排成n列,p表示图所在的位置。

I=imread(\'rr.jpg\');
I = rgb2gray(I);
subplot(1 ,3 ,1),imshow(I);
J=imnoise(I,\'salt & pepper\',0.04);
subplot(1 ,3 , 2),imshow(J);
K = medfilt2(J , [3,3]);
subplot(1, 3 ,3),imshow(K);

if语句

if expression1
  statements1
elseif expression2
  statements2
else
  statements3
end

求矩阵中元素个数

numel(x)

批量注释

Ctrl+R 注释 ; Ctrl+T 反注释

 

获得矩阵的子矩阵,比如说:

T=[ 45 240 132 452 ;

77 411 226 774 ;
48 256 141 482 ;
12 64 35 121 ];

T1 = T(2:4 , 2:4)   %获得第2行到第4列,第2列到第4列的数

T1 =

411 226 774
256 141 482
64 35 121

 

Cell

一种数据类型,一中特殊矩阵,或叫广义矩阵。矩阵的元素可以是任意数据类型,矩阵的每个元素叫做cell

注意跟通常矩阵的一些区别,主要就是创建和访问。创建cell用{},而不用[],访问cell的时候,{}拿到的是cell中的内容,()拿到的是cell

还有就是删除一个cell

比方

a = cell(2 , 2) %创建一个2 * 2的cell

a(1) = []  %这样就删掉了a的第一个元素,里面就只剩3个了,如果这里用 a{1} = [] 那么就没有删除,只是将第一个元素置空而已,因为{}拿到的是里面的内容

 http://blog.csdn.net/yam_killer/article/details/7964872

 

@号的使用

通常作为函数的句柄,例如

f = @(x , y) (x + y)

f(1 , 2) %% 3

f(111 , 1 ) %% 112

 

关于逻辑索引和数组索引

http://blog.163.com/yinhexiwen@126/blog/static/64048266201221235634263/

以上是关于Matlab图像相关笔记的主要内容,如果未能解决你的问题,请参考以下文章

数字图像处理(MATLAB版)学习笔记——第1章 绪言

hog特征原理详解及matlab代码学习笔记

《数字图像处理 MATLAB版》学习笔记

Matlab实现图像压缩

Matlab实现二维数字图像相关(2D Digital Image Correlation, 2D-DIC)ADIC2D代码复现及原理介绍

MATLAB数字图像处理学习笔记