1樓:匿名使用者
很簡單的, 因為你的圖中的圓不是標準的規範的圓, 用圓的方程之類的方法話邊框反而不好, 直接遍歷影象中所有畫素, 如果相鄰畫素的畫素值相差超過了一定的閾值(自己試一下, 我感覺至少有50以上), 就把這個點標記成紅色. 以後處理的時候判斷一下當前經過的紅色點的個數, 偶數個肯定是圓框外的部分, 奇數個就在圓框內的部分.
比如說我現在遍歷到了影象的第二行, 一開始我沒有遇到紅色點, 紅色畫素點個數累積為0. 這時就不用做影象處理, 等到遇到了第乙個紅色畫素, 這時我們就進入了圖中第乙個圓的區域中, 然後開始做處理, 下次遇到紅色點就表示離開了圓形區域. 後面的同樣道理
2樓:裴凡萱
把1樓的程式用2次,就實現了2次子區域濾波。
a=imread('待分割濾波處理**.**格式');
gaussianfilter=fspecial('gaussian',[7,7],5); %設定濾波器
%讀出a中待濾波區域1: 10:100,20:120分別為y,x的區間,
b=a(10:100,20:120);
c=imfilter(b,gaussianfilter,'symmetric','conv')%濾波
a(10:100,20:120)=c; %讀回
%讀出a中待濾波區域2:10:100,120:220分別為y,x的區間,
b=a(10:100,120:220);
c=imfilter(b,gaussianfilter,'symmetric','conv'); %濾波
a(10:100,120:220)=c; %讀回
%二值化,假設閾值為150
d=find(i<150);
i(d)=0;
d=find(i>=150);
i(d)=255;
3樓:
可以直接處理呀,不用管周圍,因為黑色都是灰度為零的啊,對整幅影象中值濾波,在用edge函式取邊,對邊緣的紅色分量增加到最大,其餘綠色和藍色分量將為零(灰度影象不用分),在畫出整幅圖就ok啦,以後處理的時候也不會對其他位置的畫素值有太大影響。
matlab影象區域性處理 50
4樓:
1全部提供乙個思路,先把手的輪廓圈出來,然後把這個輪廓相對於**轉為二值圖,然後利用roifilt2這個函式對這個輪廓內部的區域進行濾波,你可以看看roifilt2的help,裡面的例子就不錯。
用matlab怎麼對區域性影象處理然後合成呢?
5樓:匿名使用者
1全部把1樓的程式用2次,就實現了2次子區域濾波。
a=imread('待分割濾波處理**.**格式');
gaussianfilter=fspecial('gaussian',[7,7],5); %設定濾波器
%讀出a中待濾波區域1: 10:100,20:120分別為y,x的區間,
b=a(10:100,20:120);
c=imfilter(b,gaussianfilter,'symmetric','conv')%濾波
a(10:100,20:120)=c; %讀回
%讀出a中待濾波區域2:10:100,120:220分別為y,x的區間,
b=a(10:100,120:220);
c=imfilter(b,gaussianfilter,'symmetric','conv'); %濾波
a(10:100,120:220)=c; %讀回
%二值化,假設閾值為150
d=find(i<150);
i(d)=0;
d=find(i>=150);
i(d)=255;
6樓:匿名使用者
a=imread('待分割濾波處理**.**格式');
b=a(10:100,20:120);%讀出a中待濾波區域,10:100,20:120分別為x,y的區間,
gaussianfilter=fspecial('gaussian',[7,7],5)%設定濾波器
c=imfilter(b,gaussianfilter,'symmetric','conv')%濾波
a(10:100,20:120)=c%讀回d=find(c<150);
i(c)=0;
d=find(i>=150);
i(c)=255; %二值,假設閾值為150.
7樓:匿名使用者
去這上面看看 應該有用
關於用matlab做影象區域性平滑處理
8樓:匿名使用者
1全部你好,首先讀取檔案到乙個變數a
a = imread(檔案)就是讀入檔案
然後你吧a的一部分取出來,然後記住座標
比如說 b = a(1:100,40:100) 括號裡是x和y的範圍
然後你可以用gaussian做平滑處理
先設定乙個過濾器,用來處理影象 你可以用help fspecial來看介紹,有不同的過濾器。
gaussianfilter = fspecial('gaussian', [7, 7], 5)
然後你用
imfilter(b, gaussianfilter, 'symmetric', 'conv');
處理以後
你在把b放回a裡面
a(1:100,40:100) = b 不知道行不行,只要你放回原位就可以了。
9樓:匿名使用者
是對rgb影象的那個分量做平滑處理? 若是整個影象image(x,:,:)x屬於a-b,把處理的函式賦給這個影象即可
matlab如何處理特定區域影象
10樓:匿名使用者
clc;clear
i=imread('a.jpg');% 提取影象figure(1)
i=rgb2gray(i);
imshow(i)
ct=40;
p=i<=ct;
q=i>ct;
i(p)=0;
i(q)=255;
i=im2bw(i);
i=bwareaopen(i,50);
figure(2)
imshow(i)
matlab影象顯示中如何處理只對影象的一部分處理,是不相當於影象的分割?
11樓:
我想問的是,你感興趣的區域在程式裡找到了嗎,如果找到了直接處理就好辦了,影象就是一矩陣,用行、列值就可以定位到某個畫素。如果沒找到區域位置,只能說利用區域特徵尋找區域,找到之後再處理
12樓:匿名使用者
選中想要的部分,就像word一樣左鍵拉框選中,然後新建乙個檔案貼上,再修改。你看行不
13樓:匿名使用者
如果你想對影象的一部分進行處理,必然這部分特徵明顯區別與其他的部分,可以先根據你感興趣的部分進行影象分割,分割的方法要根據你感興趣的區域的特點來確定,分割之後感興趣的區域留下,把感興趣的區域座標記錄下來,對這些座標進行下一步的處理。
14樓:匿名使用者
影象是乙個矩陣,直接對影象矩陣操作就可
matlab影象處理,取部分進行處理,然後輸出選取部分處理後的整個影象~~ 200
15樓:鮮花般的掌聲
1全部取部分進行處理,然後將原圖這一部分覆蓋即可,就是用座標進行操作。
16樓:沵已荿濄往
我這裡有乙個選定乙個圓形區域的程式,要的話給分留郵箱
用matlab擷取影象的一部分?
17樓:yty隨意
1、首先開啟matlab,在命令列視窗中輸入a=[1 5 6 7;8 12 14 16;6 3 5 7],建立乙個3行4列的a矩陣,如下圖所示。
2、輸入x=find(a>10),找到a陣列中大於10的元素的下標,如下圖所示。
3、按回車鍵之後,可以看到找到大於10的元素下標,下標位置是按一列開始數,一列一列數的。
4、輸入a(x)=,將a陣列中大於10的元素全部刪除,如下圖所示。
5、最後按回車鍵之後,可以看到a陣列大於10的元素全部刪除了,如下圖所示。
18樓:匿名使用者
% 由於讀入影象的方法你已經掌握,所以這裡只示範怎樣擷取影象的部分
% 需要說明的主要有以下幾點:
% 1、影象資料有索引色和真彩色這兩種不同格式,擷取前需要搞清楚是哪一種;
% 2、擷取影象實際上就是取出陣列的部分;
% 3、陣列第一維為高度方向(從上到下),第二維為寬度方向(從左向右)。
% 載入matlab系統自帶影象資料
load durer x map
% 顯示原影象
subplot(1,2,1)
image(x)
colormap(map)
axis off; axis image
title('原圖')
% 原影象為索引色,這個示範擷取其右上角(寬度1/2,高度1/3)
subplot(2,2,2)
w = size(x,2); h=size(x, 1);
image( x(1:fix(h/3), fix(w/2):end) )
axis off; axis image
title('右上角(寬1/2,高1/3)')
% 下面示範示範擷取真彩圖
% 首先把索引色影象轉換為真彩色,然後擷取左下角(寬度1/3,高度1/2)
subplot(2,2,4)
rgb = ind2rgb(x, map);
w = size(rgb,2); h = size(rgb,1);
image( rgb(fix(h/2):end, 1:fix(w/3), :) )
axis off; axis image
title('左下角(寬1/3,高1/2)')
關於MATLAB對影象的處理
說實話對於這種簡單的問題實在是懶得回答。直接help一下,用法例子一目了然。有時候自己也該動動手動動腦的。a imread 檔名 讀取灰度圖或真彩色影象 如jpg imwrite a,檔名 控制引數 儲存影象,控制引數和影象格式有關 對於jpg影象的例子 以80 的質量儲存a為test.jpg 以2...
matlab影象平移,matlab 影象平移
阪本禮奈 影象平移 1 f imread p2.bmp se translate strel 1 0 20 引數 0 20 可以修改,修改後平移距離對應改變 j imdilate f,se figure imshow j,title 右移後圖形 影象平移 2 function outimage im...
matlab處理影象邊緣如何將二值影象的粗糙邊緣變
803路快車 中值濾波試試 kernel 3 output medfilt2 input,kernel kernel 感覺還是不錯的,角點的大斜率基本上可以保留,然後邊緣的毛刺給濾掉了。 用matlab處理 除了提到的 灰度 換 去除雜訊,如果就直接二值化得話,對於一副對比度不大的 是不容易清楚地區...