首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > MATLAB 图像处理命令(2)
【标  题】:MATLAB 图像处理命令(2)
【关键字】:MATLAB
【来  源】:http://www.cublog.cn/u/13079/showart.php?id=97614

MATLAB 图像处理命令(2)

11bwselect

功能:

在二进制图像中选择对象。

语法:

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)

相关命令:

bwfill, bwlabel, impixel, roipoly, roifill

12cmpermute

MATLAB 高级应用——图形及影像处理

326

功能:

调整颜色映像表中的颜色。

语法:

[Y,newmap] = cmpermute(X,map)

[Y,newmap] = cmpermute(X,map,index)

举例

To order a colormap by luminance, use:

ntsc = rgb2ntsc(map);

[dum,index] = sort(ntsc(:,1));

[Y,newmap] = cmpermute(X,map,index);

相关命令:

randperm

13cmunique

功能:

查找颜色映像表中特定的颜色及相应的图像。

语法:

[Y,newmap] = cmunique(X,map)

[Y,newmap] = cmunique(RGB)

[Y,newmap] = cmunique(I)

相关命令:

gray2ind, rgb2ind

14col2im

功能:

将矩阵的列重新组织到块中。

语法:

A = col2im(B,[m n],[mm nn],block_type)

A = col2im(B,[m n],[mm nn])

相关命令:

blkproc, colfilt, im2col, nlfilter

15colfilt

功能:

利用列相关函数进行边沿操作。

语法:

B = colfilt(A,[m n],block_type,fun)

B = colfilt(A,[m n],block_type,fun,P1,P2,...)

B = colfilt(A,[m n],[mblock nblock],block_type,fun,...)

B = colfilt(A,'indexed',...)

附录 MATLAB 图像处理命令

327

相关命令:

blkproc, col2im, im2col, nlfilter

16colorbar

功能:

显示颜色条。

语法:

colorbar('vert')

colorbar('horiz')

colorbar(h)

colorbar

h = colorbar(...)

举例

I = imread('blood1.tif');

h = fspecial('log');

I2 = filter2(h,I);

imshow(I2,[]), colormap(jet(64)), colorbar

17conv2

功能:

进行二维卷积操作。

语法:

C = conv2(A,B)

C = conv2(hcol,hrow,A)

C = conv2(...,shape)

举例

A = magic(5)

A =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

MATLAB 高级应用——图形及影像处理

328

10 12 19 21 3

11 18 25 2 9

B = [1 2 1;0 2 0;3 1 3]

B =

1 2 1

0 2 0

3 1 3

C = conv2(A,B)

C =

17 58 66 34 32 38 15

23 85 88 35 67 76 16

55 149 117 163 159 135 67

79 78 160 161 187 129 51

23 82 153 199 205 108 75

30 68 135 168 91 84 9

33 65 126 85 104 15 27

相关命令:

filter2

18convmtx2

功能:

计算二维卷积矩阵。

语法:

T = convmtx2(H,m,n)

T = convmtx2(H,[m n])

相关命令:

conv2

19convn

功能:

计算n 维卷积。

语法:

C = convn(A,B)

C = convn(A,B,shape)

相关命令:

conv2

20corr2

功能:

计算两个矩阵的二维相关系数。

附录 MATLAB 图像处理命令

329

语法:

r = corr2(A,B)

相关命令:

std2


21dct2

功能:

进行二维离散余弦变换。

语法:

B = dct2(A)

B = dct2(A,m,n)

B = dct2(A,[m n])

举例

RGB = imread('autumn.tif');

I = rgb2gray(RGB);

J = dct2(I);

imshow(log(abs(J)),[]), colormap(jet(64)), colorbar

J(abs(J) < 10) = 0;

K = idct2(J)/255;

imshow(K)

相关命令:

fft2, idct2, ifft2

22dctmtx

功能:

MATLAB 高级应用——图形及影像处理

330

计算离散余弦变换矩阵。

语法:

D = dctmtx(n)

相关命令:

dct2

23dilate

功能:

放大二进制图像。

语法:

BW2 = dilate(BW1,SE)

BW2 = dilate(BW1,SE,alg)

BW2 = dilate(BW1,SE,...,n)

举例

BW1 = imread('text.tif');

SE = ones(6,2);

BW2 = dilate(BW1,SE);

imshow(BW1)

figure, imshow(BW2)

相关命令:

bwmorph, erode

24dither

功能:

通过抖动增加外观颜色分辨率,转换图像。

语法:

X = dither(RGB,map)

BW = dither(I)

相关命令:

rgb2ind

25double

附录 MATLAB 图像处理命令

331

功能:

转换数据为双精度型。

语法:

B = double(A)

举例

A = imread('saturn.tif');

B = sqrt(double(A));

相关命令:

im2double, im2uint, uint8

26edge

功能:

识别强度图像中的边界。

语法:

BW = edge(I,'sobel')

BW = edge(I,'sobel',thresh)

BW = edge(I,'sobel',thresh,direction)

[BW,thresh] = edge(I,'sobel',...)

BW = edge(I,'prewitt')

BW = edge(I,'prewitt',thresh)

BW = edge(I,'prewitt',thresh,direction)

[BW,thresh] = edge(I,'prewitt',...)

BW = edge(I,'roberts')

BW = edge(I,'roberts',thresh)

[BW,thresh] = edge(I,'roberts',...)

BW = edge(I,'log')

BW = edge(I,'log',thresh)

BW = edge(I,'log',thresh,sigma)

[BW,threshold] = edge(I,'log',...)

BW = edge(I,'zerocross',thresh,h)

[BW,thresh] = edge(I,'zerocross',...)

BW = edge(I,'canny')

BW = edge(I,'canny',thresh)

BW = edge(I,'canny',thresh,sigma)

MATLAB 高级应用——图形及影像处理

332

[BW,threshold] = edge(I,'canny',...)

举例

I = imread('rice.tif');

BW1 = edge(I,'prewitt');

BW2 = edge(I,'canny');

imshow(BW1);

figure, imshow(BW2)

27erode

功能:

弱化二进制图像的边界。

语法:

BW2 = erode(BW1,SE)

BW2 = erode(BW1,SE,alg)

BW2 = erode(BW1,SE,...,n)

举例

BW1 = imread('text.tif');

SE = ones(3,1);

BW2 = erode(BW1,SE);

imshow(BW1)

figure, imshow(BW2)

相关命令:

bwmorph, dilate

附录 MATLAB 图像处理命令

333

28fft2

功能:

进行二维快速傅里叶变换。

语法:

B = fft2(A)

B = fft2(A,m,n)

举例

load imdemos saturn2

imshow(saturn2)

B = fftshift(fft2(saturn2));

imshow(log(abs(B)),[]), colormap(jet(64)), colorbar

相关命令:

dct2, fftshift, idct2, ifft2

29fftn

功能:

进行n 维快速傅里叶变换。

语法:

B = fftn(A)

B = fftn(A,siz)

相关命令:

fft2, ifftn

30fftshift

MATLAB 高级应用——图形及影像处理

334

功能:

把快速傅里叶变换的DC 组件移到光谱中心。

语法:

<


31filter2

功能:

进行二维线性过滤操作。

语法:

B = filter2(h,A)

B = filter2(h,A,shape)

举例

A = magic(6)

A =

35 1 6 26 19 24

3 32 7 21 23 25

31 9 2 22 27 20

8 28 33 17 10 15

30 5 34 12 14 16

4 36 29 13 18 11

h = fspecial('sobel')

h =

1 2 1

0 0 0

–1 –2 –1

B = filter2(h,A,'valid')

B =

–8 4 4 –8

–23 –44 –5 40

–23 –50 1 40

–8 4 4 –8

相关命令:

conv2, roifilt2

32freqspace

附录 MATLAB 图像处理命令

335

功能:

确定二维频率响应的频率空间。

语法:

[f1,f2] = freqspace(n)

[f1,f2] = freqspace([m n])

[x1,y1] = freqspace(...,'meshgrid')

f = freqspace(N)

f = freqspace(N,'whole')

相关命令:

fsamp2, fwind1, fwind2

33freqz2

功能:

计算二维频率响应。

语法:

[H,f1,f2] = freqz2(h,n1,n2)

[H,f1,f2] = freqz2(h,[n2 n1])

[H,f1,f2] = freqz2(h,f1,f2)

[H,f1,f2] = freqz2(h)

[...] = freqz2(h,...,[dx dy])

[...] = freqz2(h,...,dx)

freqz2(...)

举例

Hd = zeros(16,16);

Hd(5:12,5:12) = 1;

Hd(7:10,7:10) = 0;

h = fwind1(Hd,bartlett(16));

colormap(jet(64))

freqz2(h,[32 32]); axis ([–1 1 –1 1 0 1])

34fsamp2

MATLAB 高级应用——图形及影像处理

336

功能:

用频率采样法设计二维FIR 过滤器。

语法:

h = fsamp2(Hd)

h = fsamp2(f1,f2,Hd,[m n])

举例

[f1,f2] = freqspace(21,'meshgrid');

Hd = ones(21);

r = sqrt(f1.^2 + f2.^2);

Hd((r<0.1)|(r>0.5)) = 0;

colormap(jet(64))

mesh(f1,f2,Hd)

相关命令:

conv2, filter2, freqspace, ftrans2, fwind1, fwind2

35fspecial

功能:

创建预定义过滤器。

语法:

h = fspecial(type)

h = fspecial(type,parameters)

举例

I = imread('saturn.tif');

h = fspecial('unsharp',0.5);

I2 = filter2(h,I)/255;

imshow(I)

figure, imshow(I2)

相关命令:

conv2, edge, filter2, fsamp2, fwind1, fwind2

36ftrans2

功能:

通过频率转换设计二维FIR 过滤器。

语法:

附录 MATLAB 图像处理命令

337

h = ftrans2(b,t)

h = ftrans2(b)

举例

colormap(jet(64))

b = remez(10,[0 0.05 0.15 0.55 0.65 1],[0 0 1 1 0 0]);

[H,w] = freqz(b,1,128,'whole');

plot(w/pi–1,fftshift(abs(H)))

相关命令:

conv2, filter2, fsamp2, fwind1, fwind2

37fwind1

功能:

用一维窗口方法设计二维FIR 过滤器。

语法:

h = fwind1(Hd,win)

h = fwind1(Hd,win1,win2)

h = fwind1(f1,f2,Hd,...)

举例

[f1,f2] = freqspace(21,'meshgrid');

Hd = ones(21);

r = sqrt(f1.^2 + f2.^2);

Hd((r<0.1)|(r>0.5)) = 0;

colormap(jet(64))

mesh(f1,f2,Hd)

相关命令:

conv2, filter2, fsamp2, freqspace, ftrans2, fwind2

38fwind2

功能:

用二维窗口方法设计二维FIR 过滤器。

语法:

h = fwind2(Hd,win)

h = fwind2(f1,f2,Hd,win)

举例

[f1,f2] = freqspace(21,'meshgrid');

Hd = ones(21);

r = sqrt(f1.^2 + f2.^2);

Hd((r<0.1)|(r>0.5)) = 0;

colormap(jet(64))

mesh(f1,f2,Hd)

MATLAB 高级应用——图形及影像处理

338

相关命令:

conv2, filter2, fsamp2, freqspace, ftrans2, fwind1

39getimage

功能:



HtmlToTxt 更新v1.8:【上一篇】
MATLAB 图像处理命令(1):【下一篇】
【相关文章】
  • VC与Matlab接口编程之Matcom安装配置
  • MATLAB工具箱下载地址总汇
  • MATLAB7的几种函数
  • MATLAB与VC++混合编程(1)——在MATLAB下调试C/C++程序
  • MATLAB与VC++混合编程(2)——利用MATLAB引擎
  • Matlab神经网络工具箱的基本数据结构和信号流
  • 关于Matlab7中文支持的问题
  • 我与MATLAB这三年
  • Matlab 编译指令mcc简介
  • Matlab 编译文件的性能优化
  • 【随机文章】
  • something about linux shell 2
  • vc6常用快捷键(被忘录)
  • __cdecl __fastcall与 __stdcall
  • Photoshop制作自然风化文字
  • 查询域名服务器中所运行的BIND软件包版本的方法
  • OSDL称未来几年微软将推出Linux版Office
  • 关于FW和FLASH的结合
  • Google Web Search API 实现
  • 关于windows 2003的群集本地磁盘的概念
  • 再来说说搜索引擎的Spider~!(转)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.