matlab图像处理命令(一)_blkproc-程序员宅基地

技术标签: matlab  filter  fft  图像处理  图形  fun  Matlab  

转自:http://blog.csdn.net/langyuewu/archive/2009/05/02/4144120.aspx(非原处)

 

 

1.applylut
功能:
在二进制图像中利用lookup表进行边沿操作.
语法:
A = applylut(BW,lut)
举例
lut = makelut('sum(x(:)) == 4',2);
BW1 = imread('text.tif');
BW2 = applylut(BW1,lut);
imshow(BW1)
figure, imshow(BW2)
相关命令:
makelut
2.bestblk
功能:
确定进行块操作的块大小.
语法:
siz = bestblk([m n],k)
[mb,nb] = bestblk([m n],k)
举例
siz = bestblk([640 800],72)
siz =
64 50
相关命令:
blkproc
3.blkproc
功能:
MATLAB高级应用——图形及影像处理 320
实现图像的显式块操作.
语法:
B = blkproc(A,[m n],fun)
B = blkproc(A,[m n],fun,P1,P2,...)
B = blkproc(A,[m n],[mborder nborder],fun,...)
B = blkproc(A,'indexed',...)
举例
I = imread('alumgrns.tif');
I2 = blkproc(I,[8 8],'std2(x)*ones(size(x))');
imshow(I)
figure, imshow(I2,[]);
相关命令:
colfilt, nlfilter,inline
4.brighten
功能:
增加或降低颜色映像表的亮度.
语法:
brighten(beta)
newmap = brighten(beta)
newmap = brighten(map,beta)
brighten(fig,beta)
相关命令:
imadjust, rgbplot
5.bwarea
功能:
计算二进制图像对象的面积.
语法:
total = bwarea(BW)
举例
BW = imread('circles.tif');
imshow(BW);
附录 MATLAB图像处理命令 321
bwarea(BW)
ans =
15799
相关命令:
bweuler, bwperim
6.bweuler.
功能:
计算二进制图像的欧拉数.
语法:
eul = bweuler(BW,n)
举例
BW = imread('circles.tif');
imshow(BW);
bweuler(BW)
ans =
-2
相关命令:
bwmorph, bwperim
7.bwfill
功能:
填充二进制图像的背景色.
语法:
BW2 = bwfill(BW1,c,r,n)
BW2 = bwfill(BW1,n)
[BW2,idx] = bwfill(...)
BW2 = bwfill(x,y,BW1,xi,yi,n)
[x,y,BW2,idx,xi,yi] = bwfill(...)
BW2 = bwfill(BW1,'holes',n)
[BW2,idx] = bwfill(BW1,'holes',n)
举例
MATLAB高级应用——图形及影像处理 322
BW1 =[1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0
1 0 0 0 1 0 1 0
1 0 0 0 1 1 1 0
1 1 1 1 0 1 1 1
1 0 0 1 1 0 1 0
1 0 0 0 1 0 1 0
1 0 0 0 1 1 1 0]
BW2 = bwfill(BW1,3,3,8)
BW2 =
1 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0
1 1 1 1 1 0 1 0
1 1 1 1 1 1 1 0
1 1 1 1 0 1 1 1
1 0 0 1 1 0 1 0
1 0 0 0 1 0 1 0
1 0 0 0 1 1 1 0
I = imread('blood1.tif');
BW3 = ~im2bw(I);
BW4 = bwfill(BW3,'holes');
imshow(BW3)
figure, imshow(BW4)
相关命令:
bwselect, roifill
8.bwlabel
功能:
标注二进制图像中已连接的部分.
语法:
附录 MATLAB图像处理命令 323
L = bwlabel(BW,n)
[L,num] = bwlabel(BW,n)
举例
BW = [1 1 1 0 0 0 0 0
1 1 1 0 1 1 0 0
1 1 1 0 1 1 0 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 1 1 0
1 1 1 0 0 0 0 0]
L = bwlabel(BW,4)
L =
1 1 1 0 0 0 0 0
1 1 1 0 2 2 0 0
1 1 1 0 2 2 0 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 3 3 0
1 1 1 0 0 0 0 0
[r,c] = find(L==2);
rc = [r c]
rc =
2 5
3 5
2 6
3 6
相关命令:
bweuler, bwselect
9.bwmorph
功能:
提取二进制图像的轮廓.
语法:
BW2 = bwmorph(BW1,operation)
BW2 = bwmorph(BW1,operation,n)
举例
BW1 = imread('circles.tif');
MATLAB高级应用——图形及影像处理 324
imshow(BW1);
BW2 = bwmorph(BW1,'remove');
BW3 = bwmorph(BW1,'skel',Inf);
imshow(BW2)
figure, imshow(BW3)
相关命令:
bweuler, bwperim, dilate, erode
10.bwperim
功能:
计算二进制图像中对象的周长.
语法:
BW2 = bwperim(BW1,n)
举例
BW1 = imread('circbw.tif');
BW2 = bwperim(BW1,8);
imshow(BW1)
figure, imshow(BW2)
附录 MATLAB图像处理命令 325
相关命令:
bwarea, bweuler, bwfill
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)
相关命令:
bwfill, bwlabel, impixel, roipoly, roifill
12.cmpermute
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
13.cmunique
功能:
查找颜色映像表中特定的颜色及相应的图像.
语法:
[Y,newmap] = cmunique(X,map)
[Y,newmap] = cmunique(RGB)
[Y,newmap] = cmunique(I)
相关命令:
gray2ind, rgb2ind
14.col2im
功能:
将矩阵的列重新组织到块中.
语法:
A = col2im(B,[m n],[mm nn],block_type)
A = col2im(B,[m n],[mm nn])
相关命令:
blkproc, colfilt, im2col, nlfilter
15.colfilt
功能:
利用列相关函数进行边沿操作.
语法:
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
16.colorbar
功能:
显示颜色条.
语法:
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
17.conv2
功能:
进行二维卷积操作.
语法:
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
18.convmtx2
功能:
计算二维卷积矩阵.
语法:
T = convmtx2(H,m,n)
T = convmtx2(H,[m n])
相关命令:
conv2
19.convn
功能: 计算n维卷积.
语法:
C = convn(A,B)
C = convn(A,B,shape)
相关命令:
conv2
20.corr2
功能:
计算两个矩阵的二维相关系数.
附录 MATLAB图像处理命令 329
语法:
r = corr2(A,B)
相关命令:
std2
21.dct2
功能:
进行二维离散余弦变换.
语法:
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
22.dctmtx
功能:
MATLAB高级应用——图形及影像处理 330
计算离散余弦变换矩阵.
语法:
D = dctmtx(n)
相关命令:
dct2
23.dilate
功能:
放大二进制图像.
语法:
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
24.dither
功能:
通过抖动增加外观颜色分辨率,转换图像.
语法:
X = dither(RGB,map)
BW = dither(I)
相关命令:
rgb2ind
25.double
附录 MATLAB图像处理命令 331
功能:
转换数据为双精度型.
语法:
B = double(A)
举例
A = imread('saturn.tif');
B = sqrt(double(A));
相关命令:
im2double, im2uint, uint8
26.edge
功能:
识别强度图像中的边界.
语法:
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)
27.erode
功能:
弱化二进制图像的边界.
语法:
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
28.fft2
功能:
进行二维快速傅里叶变换.
语法:
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
29.fftn
功能: 进行n维快速傅里叶变换.
语法:
B = fftn(A)
B = fftn(A,siz)
相关命令:
fft2, ifftn
30.fftshift
MATLAB高级应用——图形及影像处理 334
功能:
把快速傅里叶变换的DC组件移到光谱中心.
语法:
B = fftshift(A)
举例
B = fftn(A);
C = fftshift(B);
相关命令:
fft2, fftn, ifftshift
31.filter2
功能:
进行二维线性过滤操作.
语法:
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
32.freqspace
附录 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
33.freqz2
功能:
计算二维频率响应.
语法:
[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])
34.fsamp2
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((r0.5)) = 0;
colormap(jet(64))
mesh(f1,f2,Hd)
相关命令:
conv2, filter2, freqspace, ftrans2, fwind1, fwind2
35.fspecial
功能:
创建预定义过滤器.
语法:
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
36.ftrans2
功能:
通过频率转换设计二维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
37.fwind1
功能:
用一维窗口方法设计二维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((r0.5)) = 0;
colormap(jet(64))
mesh(f1,f2,Hd)
相关命令:
conv2, filter2, fsamp2, freqspace, ftrans2, fwind2
38.fwind2
功能:
用二维窗口方法设计二维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((r0.5)) = 0;
colormap(jet(64))
mesh(f1,f2,Hd)
MATLAB高级应用——图形及影像处理 338
相关命令:
conv2, filter2, fsamp2, freqspace, ftrans2, fwind1
39.getimage
功能:
从坐标轴取得图像数据.
语法:
A = getimage(h)
[x,y,A] = getimage(h)
[...,A,flag] = getimage(h)
[...] = getimage
举例
imshow rice.tif
I = getimage;
40.gray2ind
功能:
转换灰度图像为索引图像.
语法:
[X,map] = gray2ind(I,n)
相关命令:
ind2gray
41.grayslice
功能:
从灰度图像创建索引图像.
语法:
X = grayslice(I,n)
X = grayslice(I,v)
举例
I = imread('ngc4024m.tif');
X = grayslice(I,16);
imshow(I)
figure, imshow(X,jet(16))
附录 MATLAB图像处理命令 339
相关命令:
gray2ind
42.histeq
功能:
用柱状图均等化增强对比.
语法:
J = histeq(I,hgram)
J = histeq(I,n)
[J,T] = histeq(I,...)
举例
I = imread('tire.tif');
J = histeq(I);
imshow(I)
figure, imshow(J)
imhist(I,64)
figure; imhist(J,64)
相关命令:
brighten, imadjust, imhist
43.hsv2rgb
功能: 转换HSV值为RGB颜色空间.
语法:
rgbmap = hsv2rgb(hsvmap)
RGB = hsv2rgb(HSV)
相关命令:
MATLAB高级应用——图形及影像处理 340
rgb2hsv, rgbplot
44.idct2
功能:
计算二维离散反余弦变换.
语法:
B = idct2(A)
B = idct2(A,m,n)
B = idct2(A,[m n])
相关命令:
dct2, dctmtx, fft2, ifft2
45.ifft2
功能:
计算二维快速傅里叶反变换.
语法:
B = ifft2(A)
B = ifft2(A,m,n)
相关命令:
fft2, fftshift, idct2
46.ifftn
功能: 计算n维快速傅里叶反变换.
语法:
B = ifftn(A)
B = ifftn(A,siz)
相关命令:
fft2, fftn, ifft2
47.sim2bw
功能:
转换图像为二进制图像.
语法:
BW = im2bw(I,level)
BW = im2bw(X,map,level)
BW = im2bw(RGB,level)
举例
load trees
BW = im2bw(X,map,0.4);
imshow(X,map)
附录 MATLAB图像处理命令 341
figure, imshow(BW)
相关命令:
ind2gray, rgb2gray
48.im2col
功能:
重调图像块为列.
语法:
B = im2col(A,[m n],block_type)
B = im2col(A,[m n])
B = im2col(A,'indexed',...)
相关命令:
blkproc, col2im, colfilt, nlfilter
49.im2double
功能:
转换图像矩阵为双精度型.
语法:
I2 = im2double(I1)
RGB2 = im2double(RGB1)
BW2 = im2double(BW1)
X2 = im2double(X1,'indexed')
相关命令:
double, im2uint8, uint8
50.im2uint8
功能:
转换图像阵列为8位无符号整型.
语法:
I2 = im2uint8(I1)
RGB2 = im2uint8(RGB1)
BW2 = im2uint8(BW1)
X2 = im2uint8(X1,'indexed')
MATLAB高级应用——图形及影像处理 342
相关命令:
im2uint16, double, im2double, uint8, imapprox, uint16
51.im2uint16
功能:
转换图像阵列为16位无符号整型.
语法:
I2 = im2uint16(I1)
RGB2 = im2uint16(RGB1)
X2 = im2uint16(X1,'indexed')
相关命令:
im2uint8, double, im2double, uint8, uint16, imapprox
52.imadjust
功能:
调整图像灰度值或颜色映像表.
语法:
J = imadjust(I,[low high],[bottom top],gamma)
newmap = imadjust(map,[low high],[bottom top],gamma)
RGB2 = imadjust(RGB1,...)
举例
I = imread('pout.tif');
J = imadjust(I,[0.3 0.7],[]);
imshow(I)
figure, imshow(J)
相关命令:
brighten, histeq
53.imapprox
功能:
对索引图像进行近似处理.
语法:
[Y,newmap] = imapprox(X,map,n)
附录 MATLAB图像处理命令 343
[Y,newmap] = imapprox(X,map,tol)
Y = imapprox(X,map,newmap)
[...] = imapprox(...,dither_option)
相关命令:
cmunique, dither, rgb2ind
54.imcontour
功能:
创建图像数据的轮廓图.
语法:
imcontour(I,n)
imcontour(I,v)
imcontour(x,y,...)
imcontour(...,LineSpec)
[C,h] = imcontour(...)
举例
I = imread('ic.tif');
imcontour(I,3)
相关命令:
clabel, contour, LineSpec
55.imcrop
功能:
剪切图像.
语法:
I2 = imcrop(I)
X2 = imcrop(X,map)
RGB2 = imcrop(RGB)
I2 = imcrop(I,rect)
X2 = imcrop(X,map,rect)
RGB2 = imcrop(RGB,rect)
MATLAB高级应用——图形及影像处理 344
[...] = imcrop(x,y,...)
[A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
举例
I = imread('ic.tif');
I2 = imcrop(I,[60 40 100 90]);
imshow(I)
figure, imshow(I2)
相关命令:
zoom
56.imfeature
功能:
计算图像区域的特征尺寸.
语法:
stats = imfeature(L,measurements)
stats = imfeature(L,measurements,n)
举例
BW = imread('text.tif');
L = bwlabel(BW);
stats = imfeature(L,'all');
stats(23)
ans =
Area: 89
Centroid: [95.6742 192.9775]
BoundingBox: [87.5000 184.5000 16 15]
MajorAxisLength: 19.9127
MinorAxisLength: 14.2953
Eccentricity: 0.6961
Orientation: 9.0845
ConvexHull: [28x2 double]
附录 MATLAB图像处理命令 345
ConvexImage: [15x16 uint8 ]
ConvexArea: 205
Image: [15x16 uint8 ]
FilledImage: [15x16 uint8 ]
FilledArea: 122
EulerNumber: 0
Extrema: [ 8x2 double]
EquivDiameter: 10.6451
Solidity: 0.4341
Extent: 0.3708
PixelList: [89x2 double]
相关命令:
bwlabel
57.imfinfo
功能:
返回图形文件信息.
语法:
info = imfinfo(filename,fmt)
info = imfinfo(filename)
举例
info = imfinfo('canoe.tif')
info =
Filename:'canoe.tif'
FileModDate: '25-Oct-1996 22:10:39'
FileSize: 69708
Format: 'tif'
FormatVersion: []
Width: 346
Height: 207
BitDepth: 8
ColorType: 'indexed'
FormatSignature: [73 73 42 0]
ByteOrder: 'little-endian'
NewSubfileType: 0
BitsPerSample: 8
Compression: 'PackBits'
PhotometricInterpretation: 'RGB Palette'
MATLAB高级应用——图形及影像处理 346
StripOffsets: [ 9x1 double]
SamplesPerPixel: 1
RowsPerStrip: 23
StripByteCounts: [ 9x1 double]
XResolution: 72
YResolution: 72
ResolutionUnit: 'Inch'
Colormap: [256x3 double]
PlanarConfiguration: 'Chunky'
TileWidth: []
TileLength: []
TileOffsets: []
TileByteCounts: []
Orientation: 1
FillOrder: 1
GrayResponseUnit: 0.0100
MaxSampleValue: 255
MinSampleValue: 0
Thresholding: 1
相关命令:
imread, imwrite
58.imhist
功能:
显示图像数据的柱状图.
语法:
imhist(I,n)
imhist(X,map)
[counts,x] = imhist(...)
举例
I = imread('pout.tif');
imhist(I)
附录 MATLAB图像处理命令 347
相关命令:
histeq
59.immovie
功能:
创建多帧索引图的电影动画.
语法:
mov = immovie(X,map)
举例
load mri
mov = immovie(D,map);
相关命令:
montage
60.imnoise
功能:
增加图像的渲染效果.
语法:
J = imnoise(I,type)
J = imnoise(I,type,parameters)
举例
I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02);
imshow(I)
figure, imshow(J)
相关命令:
rand
61.impixel
功能:
确定像素颜色值.
语法:
MATLAB高级应用——图形及影像处理 348
P = impixel(I)
P = impixel(X,map)
P = impixel(RGB)
P = impixel(I,c,r)
P = impixel(X,map,c,r)
P = impixel(RGB,c,r)
[c,r,P] = impixel(...)
P = impixel(x,y,I,xi,yi)
P = impixel(x,y,X,map,xi,yi)
P = impixel(x,y,RGB,xi,yi)
[xi,yi,P] = impixel(x,y,...)
举例
RGB = imread('flowers.tif');
c = [12 146 410];
r = [104 156 129];
pixels = impixel(RGB,c,r)
pixels =
61 59 101
253 240 0
237 37 44
相关命令:
improfile, pixval
62.improfile
功能:
沿线段计算剖面图的像素值.
语法:
c = improfile
c = improfile(n)
c = improfile(I,xi,yi)
c = improfile(I,xi,yi,n)
[cx,cy,c] = improfile(...)
[cx,cy,c,xi,yi] = improfile(...)
[...] = improfile(x,y,I,xi,yi)
[...] = improfile(x,y,I,xi,yi,n)
附录 MATLAB图像处理命令 349
[...] = improfile(...,method)
举例
I = imread('alumgrns.tif');
x = [35 338 346 103];
y = [253 250 17 148];
improfile(I,x,y), grid on
相关命令:
impixel, pixval
63.imread
功能:
从图形文件中读取图像.
语法:
A = imread(filename,fmt)
[X,map] = imread(filename,fmt)
[...] = imread(filename)
[...] = imread(...,idx) (TIFF only)
[...] = imread(...,ref) (HDF only)
[...] = imread(...,'BackgroundColor',BG) (PNG only)
[A,map,alpha] = imread(...) (PNG only)
举例
[X,map] = imread('flowers.tif',6);
info = imfinfo('skull.hdf');
[X,map] = imread('skull.hdf',info(4).Reference);
bg = [255 0 0];
A = imread('image.png','BackgroundColor',bg);
MATLAB高级应用——图形及影像处理 350
[A,map,alpha] = imread('image.png');
相关命令:
imfinfo, imwrite,fread,double,uint8,uint16
64.imresize
功能:
改变图像大小.
语法:
B = imresize(A,m,method)
B = imresize(A,[mrows ncols],method)
B = imresize(...,method,n)
B = imresize(...,method,h)
65.imrotate
功能:
旋转图像.
语法:
B = imrotate(A,angle,method)
B = imrotate(A,angle,method,'crop')
举例
I = imread('ic.tif');
J = imrotate(I,-4,'bilinear','crop');
imshow(I)
figure, imshow(J)
相关命令:
imcrop, imresize
66.imshow
功能:
显示图像.
语法:
附录 MATLAB图像处理命令 351
imshow(I,n)
imshow(I,[low high])
imshow(BW)
imshow(X,map)
imshow(RGB)
imshow(...,display_option)
imshow(x,y,A,...)
imshow filename
h = imshow(...)
相关命令:
getimage, imread, iptgetpref, iptsetpref, subimage, truesize, warp
67.imwrite
功能:
把图像写入图形文件中.
语法:
imwrite(A,filename,fmt)
imwrite(X,map,filename,fmt)
imwrite(...,filename)
imwrite(...,Param1,Val1,Param2,Val2...)
举例
imwrite(X,map,'flowers.hdf','Compression','none',...
'WriteMode','append')
相关命令:
imfinfo, imread
68.ind2gray
功能:
把检索图像转化为灰度图像.
语法:
I = ind2gray(X,map)
举例
load trees
I = ind2gray(X,map);
imshow(X,map)
figure,imshow(I)
MATLAB高级应用——图形及影像处理 352
相关命令:
gray2ind, imshow, rgb2ntsc
69.ind2rgb
功能:
转化索引图像为RGB真彩图像.
语法:
RGB = ind2rgb(X,map)
相关命令:
ind2gray, rgb2ind
70.iptgetpref
功能:
获取图像处理工具箱参数设置.
语法:
value = iptgetpref(prefname)
举例
value = iptgetpref('ImshowAxesVisible')
value =
off
相关命令:
imshow, iptsetpref
71.iptsetpref
功能:
设置图像处理工具箱参数.
语法:
iptsetpref(prefname,value)
举例
iptsetpref('ImshowBorder','tight')
相关命令:
imshow, iptgetpref, truesize
72.iradon
附录 MATLAB图像处理命令 353
功能:
进行反Radon变换.
语法:
I = iradon(P,theta)
I = iradon(P,theta,interp,filter,d,n)
[I,h] = iradon(...)
举例
P = phantom(128);
R = radon(P,0:179);
I = iradon(R,0:179,'nearest','Hann');
imshow(P)
figure, imshow(I)
相关命令:
radon, phantom
73.isbw
功能:
判断是否为二进制图像.
语法:
flag = isbw(A)
相关命令:
isind, isgray, isrgb
74.isgray
功能:
判断是否为灰度图像.
语法:
flag = isgray(A)
相关命令:
isbw, isind, isrgb
75.isind
MATLAB高级应用——图形及影像处理 354
功能:
判断是否为索引图像.
语法:
flag = isind(A)
相关命令:
isbw, isgray, isrgb
76.isrgb
功能:
判读是否为RGB真彩图像.
语法:
flag = isrgb(A)
相关命令:
isbw, isgray, isind
77.makelut
功能:
创建一个用于applylut函数的lookup表.
语法:
lut = makelut(fun,n)
lut = makelut(fun,n,P1,P2,...)
举例
f = inline('sum(x(:)) >= 2');
lut = makelut(f,2)
lut =
0
0
0
1
0
1
1
1
0
1
1
1
1
1
附录 MATLAB图像处理命令 355
1
1
相关命令:
applylut
78.mat2gray
功能:
转化矩阵为灰度图像.
语法:
I = mat2gray(A,[amin amax])
I = mat2gray(A)
举例
I = imread('rice.tif');
J = filter2(fspecial('sobel'),I);
K = mat2gray(J);
imshow(I)
figure, imshow(K)
相关命令:
gray2ind
79.mean2
功能:
计算矩阵元素的平均值.
语法:
b = mean2(A)
相关命令:
std2, mean, std
80.medfilt2
功能:
进行二维中值过滤.
语法:
MATLAB高级应用——图形及影像处理 356
B = medfilt2(A,[m n])
B = medfilt2(A)
B = medfilt2(A,'indexed',...)
举例
I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02);
K = medfilt2(J);
imshow(J)
figure, imshow(K)
相关命令:
filter2, ordfilt2, wiener2
81.montage
功能:
在矩形框中同时显示多幅图像.
语法:
montage(I)
montage(BW)
montage(X,map)
montage(RGB)
h = montage(...)
举例
load mri
montage(D,map)
附录 MATLAB图像处理命令 357
相关命令:
immovie
82.nlfilter
功能:
进行边沿操作.
语法:
B = nlfilter(A,[m n],fun)
B = nlfilter(A,[m n],fun,P1,P2,...)
B = nlfilter(A,'indexed',...)
举例
B = nlfilter(A,[3 3],'median(x(:))');
相关命令:
blkproc, colfilt
83.ntsc2rgb
功能: 转换NTSC的值为RGB颜色空间.
语法:
rgbmap = ntsc2rgb(yiqmap)
RGB = ntsc2rgb(YIQ)
相关命令:
rgb2ntsc, rgb2ind, ind2rgb, ind2gray
84.ordfilt2
功能:
进行二维统计顺序过滤.
语法:
B = ordfilt2(A,order,domain)
B = ordfilt2(A,order,domain,S)
MATLAB高级应用——图形及影像处理 358
B = ordfilt2(...,padopt)
相关命令:
medfilt2
85.phantom
功能:
产生一个头部幻影图像.
语法:
P = phantom(def,n)
P = phantom(E,n)
[P,E] = phantom(...)
举例
P = phantom('Modified Shepp-Logan',200);
imshow(P)
相关命令:
radon, iradon
86.pixval
功能:
显示图像像素信息.
语法:
pixval on
pixval off
pixval
pixval(fig,option)
相关命令:
impixel, improfile
87.qtdecomp
功能:
进行四叉树分解.
附录 MATLAB图像处理命令 359
语法:
S = qtdecomp(I)
S = qtdecomp(I,threshold)
S = qtdecomp(I,threshold,mindim)
S = qtdecomp(I,threshold,[mindim maxdim])
S = qtdecomp(I,fun)
S = qtdecomp(I,fun,P1,P2,...)
举例
I = [1 1 1 1 2 3 6 6
1 1 2 1 4 5 6 8
1 1 1 1 10 15 7 7
1 1 1 1 20 25 7 7
20 22 20 22 1 2 3 4
20 22 22 20 5 6 7 8
20 22 20 20 9 10 11 12
22 22 20 20 13 14 15 16];
S = qtdecomp(I,5);
full(S)
ans =
4 0 0 0 2 0 2 0
0 0 0 0 0 0 0 0
0 0 0 0 1 1 2 0
0 0 0 0 1 1 0 0
4 0 0 0 2 0 2 0
0 0 0 0 0 0 0 0
0 0 0 0 2 0 2 0
0 0 0 0 0 0 0 0
相关命令:
qtgetblk, qtsetblk
88.qtgetblk
功能:
获取四叉树分解中的块值.
语法:
[vals,r,c] = qtgetblk(I,S,dim)
MATLAB高级应用——图形及影像处理 360
[vals,idx] = qtgetblk(I,S,dim)
举例
[vals,r,c] = qtgetblk(I,S,4)
vals(:,:,1) =
1 1 1 1
1 1 2 1
1 1 1 1
1 1 1 1
vals(:,:,2) =
20 22 20 22
20 22 22 20
20 22 20 20
22 22 20 20
r =
1
5
c =
1
1
相关命令:
qtdecomp, qtsetblk
89.qtsetblk
功能:
设置四叉树分解中的块值.
语法:
J = qtsetblk(I,S,dim,vals)
举例
newvals = cat(3,zeros(4),ones(4));
J = qtsetblk(I,S,4,newvals)
J =
0 0 0 0 2 3 6 6
0 0 0 0 4 5 6 8
0 0 0 0 10 15 7 7
附录 MATLAB图像处理命令 361
0 0 0 0 20 25 7 7
1 1 1 1 1 2 3 4
1 1 1 1 5 6 7 8
1 1 1 1 9 10 11 12
1 1 1 1 13 14 15 16
相关命令:
qtdecomp, qtgetblk
90.radon
功能: 计算Radon变换.
语法:
R = radon(I,theta)
R = radon(I,theta,n)
[R,xp] = radon(...)
举例
iptsetpref('ImshowAxesVisible','on')
I = zeros(100,100);
I(25:75,25:75) = 1;
theta = 0:180;
[R,xp] = radon(I,theta);
imshow(theta,xp,R,[]), colormap(hot), colorbar
相关命令:
iradon, phantom
91.rgb2gray
功能: 转换RGB图像或颜色映像表为灰度图像.
语法:
I = rgb2gray(RGB)
newmap = rgb2gray(map)
相关命令:
MATLAB高级应用——图形及影像处理 362
ind2gray, ntsc2rgb, rgb2ind, rgb2ntsc
92.rgb2hsv
功能: 转化RGB值为HSV颜色空间.
语法:
hsvmap = rgb2hsv(rgbmap)
HSV = rgb2hsv(RGB)
相关命令:
hsv2rgb, rgbplot
93.rgb2ind
功能: 转化RGB图像为索引图像.
语法:
[X,map] = rgb2ind(RGB,tol)
[X,map] = rgb2ind(RGB,n)
X = rgb2ind(RGB,map)
[...] = rgb2ind(...,dither_option)
举例
RGB = imread('flowers.tif');
[X,map] = rgb2ind(RGB,128);
imshow(X,map)
相关命令:
cmunique, dither, imapprox, ind2rgb, rgb2gray
94.rgb2ntsc
功能: 转化RGB的值为NTSC颜色空间.
语法:
yiqmap = rgb2ntsc(rgbmap)
YIQ = rgb2ntsc(RGB)
附录 MATLAB图像处理命令 363
相关命令:
ntsc2rgb, rgb2ind, ind2rgb, ind2gray
95.rgb2ycbcr
功能: 转化RGB的值为YcbCr颜色空间.
语法:
ycbcrmap = rgb2ycbcr(rgbmap)
YCBCR = rgb2ycbcr(RGB)
相关命令:
ntsc2rgb, rgb2ntsc, ycbcr2rgb
96.rgbplot
功能:
划分颜色映像表.
语法:
rgbplot(map)
举例
rgbplot(jet)
相关命令:
colormap
97.roicolor
功能:
选择感兴趣的颜色区.
语法:
BW = roicolor(A,low,high)
BW = roicolor(A,v)
举例
I = imread('rice.tif');
BW = roicolor(I,128,255);
imshow(I);
MATLAB高级应用——图形及影像处理 364
figure, imshow(BW)
相关命令:
roifilt2, roipoly
98.roifill
功能:
在图像的任意区域中进行平滑插补.
语法:
J = roifill(I,c,r)
J = roifill(I)
J = roifill(I,BW)
[J,BW] = roifill(...)
J = roifill(x,y,I,xi,yi)
[x,y,J,BW,xi,yi] = roifill(...)
举例
I = imread('eight.tif');
c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];
J = roifill(I,c,r);
imshow(I)
figure, imshow(J)
附录 MATLAB图像处理命令 365
相关命令:
roifilt2, roipoly
99.roifilt2
功能:
过滤敏感区域.
语法:
J = roifilt2(h,I,BW)
J = roifilt2(I,BW,fun)
J = roifilt2(I,BW,fun,P1,P2,...)
举例
h = fspecial('unsharp');
J = roifilt2(h,I,BW);
imshow(J)
相关命令:
filter2, roipoly
100.roipoly
功能:
选择一个敏感的多边形区域.
语法:
BW = roipoly(I,c,r)
BW = roipoly(I)
BW = roipoly(x,y,I,xi,yi)
[BW,xi,yi] = roipoly(...)
[x,y,BW,xi,yi] = roipoly(...)
举例
I = imread('eight.tif');
c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];
BW = roipoly(I,c,r);
imshow(I)
MATLAB高级应用——图形及影像处理 366
figure, imshow(BW)
相关命令:
roifilt2, roicolor, roifill
101.std2
功能:
计算矩阵元素的标准偏移.
语法:
b = std2(A)
相关命令:
corr2, mean2
102.subimage
功能:
在一幅图中显示多个图像.
语法:
subimage(X,map)
subimage(I)
subimage(BW)
subimage(RGB)
subimage(x,y,...)
h = subimage(...)
举例
load trees
[X2,map2] = imread('forest.tif');
subplot(1,2,1), subimage(X,map)
subplot(1,2,2), subimage(X2,map2)
相关命令:
附录 MATLAB图像处理命令 367
103.truesize
功能:
调整图像显示尺寸.
语法:
truesize(fig,[mrows mcols])
truesize(fig)
相关命令:
imshow, iptsetpref, iptgetpref
104.uint8
功能:
转换数据为8位无符号整型.
语法:
B = uint8(A)
举例
a = [1 3 5];
b = uint8(a);
whos
Name Size Bytes Class
a 1x3 24 doublearray
b 1x3 3 uint8 array
相关命令:
double, im2double, im2uint8
105.uint16
功能:
转换数据为16位无符号整型.
语法:
I = uint16(X)
MATLAB高级应用——图形及影像处理 368
举例
a = [1 3 5];
b = uint16(a);
whos
Name Size Bytes Class
a 1x3 24 double array
b 1x3 6 uint16 array
相关命令:
double, datatypes, uint8, uint32, int8, int16, int32.
106.warp
功能:
将图像显示到纹理映射表面.
语法:
warp(X,map)
warp(I,n)
warp(BW)
warp(RGB)
warp(z,...)
warp(x,y,z,...)
h = warp(...)
举例
[x,y,z] = cylinder;
I = imread('testpat1.tif');
warp(x,y,z,I);
相关命令:
imshow
附录 MATLAB图像处理命令 369
107.wiener2
功能:
进行二维适应性去噪过滤处理.
语法:
J = wiener2(I,[m n],noise)
[J,noise] = wiener2(I,[m n])
举例
I = imread('saturn.tif');
J = imnoise(I,'gaussian',0,0.005);
K = wiener2(J,[5 5]);
imshow(J)
figure, imshow(K)
相关命令:
filter2, medfilt2
108.ycbcr2rgb
功能: 转化YcbCr值为RGB颜色空间.
语法:
rgbmap = ycbcr2rgb(ycbcrmap)
RGB = ycbcr2rgb(YCBCR)
相关命令:
ntsc2rgb, rgb2ntsc, rgb2ycbcr
109.zoom
功能:
缩放图像.
语法:
zoom on
zoom off
zoom out
MATLAB高级应用——图形及影像处理 370
zoom reset
zoom
zoom xon
zoom yon
zoom(factor)
zoom(fig,option)
相关命令:
imcrop

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fengbingchun/article/details/5826504

智能推荐

JavaScript学习笔记_curry函数未定义-程序员宅基地

文章浏览阅读343次。五种原始的变量类型1.Undefined--未定义类型 例:var v;2.String -- ' '或" "3.Boolean4.Number5.Null--空类型 例: var v=null;Number中:NaN -- not a number非数本身是一个数字,但是它和任何数字都不相等,代表非数,它和自己都不相等判断是不是NaN不能用=_curry函数未定义

兑换码编码方案实践_优惠券编码规则-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏17次。兑换码编码设计当前各个业务系统,只要涉及到产品销售,就离不开大大小小的运营活动需求,其中最普遍的就是兑换码需求,无论是线下活动或者是线上活动,都能起到良好的宣传效果。兑换码:由一系列字符组成,每一个兑换码对应系统中的一组信息,可以是优惠信息(优惠券),也可以是相关奖品信息。在实际的运营活动中,要求兑换码是唯一的,每一个兑换码对应一个优惠信息,而且需求量往往比较大(实际上的需求只有预期_优惠券编码规则

c语言周林答案,C语言程序设计实训教程教学课件作者周林ch04结构化程序设计课件.ppt...-程序员宅基地

文章浏览阅读45次。C语言程序设计实训教程教学课件作者周林ch04结构化程序设计课件.ppt* * 4.1 选择结构程序设计 4.2 循环结构程序设计 4.3 辅助控制语句 第四章 结构化程序设计 4.1 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的: 如果你在家,我去拜访你 如果考试不及格,要补考 如果遇到红灯,要停车等待 第四章 结构化程序设计 在现实生活中,需要进行判断和选择的情况..._在现实生活中遇到过条件判断的问

幻数使用说明_ioctl-number.txt幻数说明-程序员宅基地

文章浏览阅读999次。幻数使用说明 在驱动程序中实现的ioctl函数体内,实际上是有一个switch{case}结构,每一个case对应一个命令码,做出一些相应的操作。怎么实现这些操作,这是每一个程序员自己的事情。 因为设备都是特定的,这里也没法说。关键在于怎样组织命令码,因为在ioctl中命令码是唯一联系用户程序命令和驱动程序支持的途径 。 命令码的组织是有一些讲究的,因为我们一定要做到命令和设备是一一对应的,利_ioctl-number.txt幻数说明

ORB-SLAM3 + VScode:检测到 #include 错误。请更新 includePath。已为此翻译单元禁用波浪曲线_orb-slam3 include <system.h> 报错-程序员宅基地

文章浏览阅读399次。键盘按下“Shift+Ctrl+p” 输入: C++Configurations,选择JSON界面做如下改动:1.首先把 “/usr/include”,放在最前2.查看C++路径,终端输入gcc -v -E -x c++ - /usr/include/c++/5 /usr/include/x86_64-linux-gnu/c++/5 /usr/include/c++/5/backward /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/_orb-slam3 include 报错

「Sqlserver」数据分析师有理由爱Sqlserver之十-Sqlserver自动化篇-程序员宅基地

文章浏览阅读129次。本系列的最后一篇,因未有精力写更多的入门教程,上篇已经抛出书单,有兴趣的朋友可阅读好书来成长,此系列主讲有理由爱Sqlserver的论证性文章,希望读者们看完后,可自行做出判断,Sqlserver是否真的合适自己,目的已达成。渴望自动化及使用场景笔者所最能接触到的群体为Excel、PowerBI用户群体,在Excel中,我们知道可以使用VBA、VSTO来给Excel带来自动化操作..._sqlsever 数据分析

随便推点

智慧校园智慧教育大数据平台(教育大脑)项目建设方案PPT_高校智慧大脑-程序员宅基地

文章浏览阅读294次,点赞6次,收藏4次。教育智脑)建立学校的全连接中台,对学校运营过程中的数据进行处理和标准化管理,挖掘数据的价值。能:一、原先孤立的系统聚合到一个统一的平台,实现单点登录,统一身份认证,方便管理;三、数据共享,盘活了教育大数据资源,通过对外提供数。的方式构建教育的通用服务能力平台,支撑教育核心服务能力的沉淀和共享。物联网将学校的各要素(人、机、料、法、环、测)全面互联,数据实时。智慧校园解决方案,赋能教学、管理和服务升级,智慧教育体系,该数据平台具有以下几大功。教育大数据平台底座:教育智脑。教育大数据平台,以中国联通。_高校智慧大脑

编程5大算法总结--概念加实例_算法概念实例-程序员宅基地

文章浏览阅读9.5k次,点赞2次,收藏27次。分治法,动态规划法,贪心算法这三者之间有类似之处,比如都需要将问题划分为一个个子问题,然后通过解决这些子问题来解决最终问题。但其实这三者之间的区别还是蛮大的。贪心是则可看成是链式结构回溯和分支界限为穷举式的搜索,其思想的差异是深度优先和广度优先一:分治算法一、基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两_算法概念实例

随笔—醒悟篇之考研调剂_考研调剂抑郁-程序员宅基地

文章浏览阅读5.6k次。考研篇emmmmm,这是我随笔篇章的第二更,原本计划是在中秋放假期间写好的,但是放假的时候被安排写一下单例模式,做了俩机试题目,还刷了下PAT的东西,emmmmm,最主要的还是因为我浪的很开心,没空出时间来写写东西。  距离我考研结束已经快两年了,距离今年的考研还有90天左右。  趁着这个机会回忆一下青春,这一篇会写的比较有趣,好玩,纯粹是为了记录一下当年考研中发生的有趣的事。  首先介绍..._考研调剂抑郁

SpringMVC_class org.springframework.web.filter.characterenco-程序员宅基地

文章浏览阅读438次。SpringMVC文章目录SpringMVC1、SpringMVC简介1.1 什么是MVC1.2 什么是SpringMVC1.3 SpringMVC的特点2、HelloWorld2.1 开发环境2.2 创建maven工程a>添加web模块b>打包方式:warc>引入依赖2.3 配置web.xml2.4 创建请求控制器2.5 创建SpringMVC的配置文件2.6 测试Helloworld2.7 总结3、@RequestMapping注解3.1 @RequestMapping注解的功能3._class org.springframework.web.filter.characterencodingfilter is not a jakart

gdb: Don‘t know how to run. Try “help target“._don't know how to run. try "help target".-程序员宅基地

文章浏览阅读4.9k次。gdb 远程调试的一个问题:Don't know how to run. Try "help target".它在抱怨不知道怎么跑,目标是什么. 你需要为它指定target remote 或target extended-remote例如:target extended-remote 192.168.1.136:1234指明target 是某IP的某端口完整示例如下:targ..._don't know how to run. try "help target".

c语言程序设计教程 郭浩志,C语言程序设计教程答案杨路明郭浩志-程序员宅基地

文章浏览阅读85次。习题 11、算法描述主要是用两种基本方法:第一是自然语言描述,第二是使用专用工具进行算法描述2、c 语言程序的结构如下:1、c 语言程序由函数组成,每个程序必须具有一个 main 函数作为程序的主控函数。2、“/*“与“*/“之间的内容构成 c 语言程序的注释部分。3、用预处理命令#include 可以包含有关文件的信息。4、大小写字母在 c 语言中是有区别的。5、除 main 函数和标准库函数以..._c语言语法0x1e