MATLAB图像函数 块和邻域的处理
1、Poly2mask-----------------------------------------------------將感興趣的區域轉換成掩膜
bw=poly2mask(x,y,m,n)-------------講一個ROI多邊形轉黃成二值圖像的掩膜區域,向量x y分別表示ROI多邊形個頂點x y的坐標,m n為掩膜的區域、
<span style="font-size:18px;">x=[4 10 10 4 4]; y=[4 4 10 10 4]; mask=poly2mask(x,y,12,12); </span>在圖像中建立個掩膜、 <span style="font-size:18px;">x=[63 186 54 190 63]; y=[60 60 209 204 60]; bw=poly2mask(x,y,256.256); imshsow(bw); plot(x,y,'r',‘LineWidth','2); </span>
隨機產生漁區計算掩膜 <span style="font-size:18px;">x=256*rand(1,4); y=256*rand(1,4); x(end+1)=x(1); y(end+1)=y(1); bw=poly2mask(x,y,256,256); imshow(bw); hold on plot(x,y,'r','LineWidth',2); hold off</span>
2、roicolor------------------------------------------------------------------根據顏色選擇感興趣的區域
bw=roicolor(A,low,high) ?-----------------按指定的顏色范圍(low high)選擇ROI,返回圖像中這個區域的圖像
<span style="font-size:18px;">I=imread('lena.jpg'); bw=roicolor(I,128,255); imshow(I); figure; imshow(bw); </span>3、roifill-------------------------------------------------------------------------在圖像中對指定區域進行平滑插補
J=roifill(I,c,r) ? ? ? ? ? ? ? ? ------------------------------------------------------c r指的是多邊形x y的坐標
J=roifill(I,bw)-------------------------------------填充有掩膜圖像bw指定的區域
<span style="font-size:18px;">I=imread('lena.jpg'); c=[222 272 300 270 221 194]; r=[21 21 75 121 121 75]; J=roifill(I,c,r); imshow(I); figure; imshow(J);</span>4、roifilt2--------------------------------------------------對區域進行二維濾波
J=roifilt(h,I,bw)---------------------使用濾波器h對圖像I中由掩膜圖像bw選中的區域
</pre><pre name="code" class="plain"><span style="font-size:18px;">I=imread('lena.jpg'); c=[222 272 300 270 221 194]; r=[21 21 75 121 121 75];</span> bw=roifill(I,c,r);J=roifilt2(H,I,bw);
imshow(J);
5、roipoly------------------------------------------------------------------選擇感興趣的區域
bw=roipoly(I,c,r)
bw=roipoly-------------------------------用鼠標選取
6、bestblk---------------------------------------------------------------------為塊處理選取合適的大小
size=bestblk([m n],k); ? k 表示塊的長度和寬度的最大值
7、blkproc-----------------------------------------------------------------區別圖像的塊處理
b=blkproc(A,[m n],fun) ?-----------------------------將圖像中A每個不同的m*n塊應用導函數fuN中,
I=imread('lena.jpg');
fun=@dcr2;
J=blkproc(I,[8 8],fun);
imshow(J);
<span style="font-size:18px;">I=imread('lena.jpg'); fun=@(x) std2(x)*ones(size(x)); I1=blkproc(I,[32 32],fun); imshow(I1);</span>8、nfilter---------------------------------------------------------------------通用滑動鄰域處理
B=nlfilter(I,[m n],fun);
<span style="font-size:18px;">I=imread('lena.jpg'): fun=@(x)median(x(:)); B=nlfilter(I,[3 3],fun); imshow(B)</span>
總結
以上是生活随笔為你收集整理的MATLAB图像函数 块和邻域的处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab稀疏矩阵
- 下一篇: BP神经网络 语音信号分类