MATLAB區域性影象處理,matlab影象區域性處理

時間 2022-06-05 05:15:03

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處理 除了提到的 灰度 換 去除雜訊,如果就直接二值化得話,對於一副對比度不大的 是不容易清楚地區...