MATLAB:圖像選取局部區域濾波(roicolor、roipoly、roifill、fspecial、roifilt2函數)


對於某些特殊的圖像處理,我們不希望將整張圖都進行圖像處理。這個時候就用到了roicolor、roipoly、roifill、fspecial、roifilt2函數。代碼實現過程如下:

close all;                  %關閉當前所有圖形窗口,清空工作空間變量,清除工作空間所有變量
clear all;
clc;
I=imread('pout.tif');           %輸入原圖像
BW1=roicolor(I,55,100);                   %基於灰度圖像ROI區域選取
c=[87 171 201 165 79 32 87];
r=[133 133 205 259 259 209 133];%定義ROI頂點位置
BW=roipoly(I,c,r); %根據c和r選擇ROI區域
I1=roifill(I,BW); %根據生成BW掩膜圖像進行區域填充
h=fspecial('motion',20,45); %創建motion濾波器並說明參數
I2=roifilt2(h,I,BW); %進行區域濾波
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改圖形圖像位置的默認設置
set(0,'defaultFigureColor',[1 1 1])%修改圖形背景顏色的設置
figure
subplot(121),imshow(BW1); %顯示處理結果
subplot(122),imshow(BW); %顯示ROI區域
figure
subplot(121),imshow(I1);%顯示填充效果
subplot(122),imshow(I2); %顯示區域濾波效果

  效果圖如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM