[問題] 請教影像處裡的中間值濾波已回收
小弟最近在修機器視覺
這次作業要弄平均濾波跟中間值濾波
分別對圖片做處裡,來消除雜訊
平均值濾波我剛剛做好了
可是做中間值濾波的時候,不太知道哪裡錯了
應該是說
我有去上網查中間值的指令median
可是我不知道怎樣取中間值,講的有點含糊,抱歉
麻煩請前輩幫我看看
這是3*3的中間值濾波
MYHW233=imread('路徑');
↑
這是我設的名稱
這邊是灰階化
rgb2gray_MYHW233=rgb2gray(MYHW233);
figure=imshow(rgb2gray_MYHW233);
as1=double(rgb2gray_MYHW233);
[w,h] = size (rgb2gray_MYHW233);
median_filter_MYHW233 = zeros(w,h);
for i=2:w-1
for j=2:h-1
sum=0;
for k = -1 : 1
for l = -1 : 1
sum = sum + as1 (i+k,j+l); ←這行是我在做平均濾波完後的
end 我不知道怎樣去修改才對
end 我知道我寫的這個是錯的
median_filter_MYHW233(i,j)=median(sum); 因為這樣sum加起來很大,
end 直接白掉!!
end
mean_filter_MYHW233 = uint8 (median_filter_MYHW233);
figure;imshow(median_filter_MYHW233);
我覺得不應該用sum,sum是總和的意思,這樣一定會變成作平均才會用到
想請問一下有沒有"陳列"的這種指令?
這樣我median(陳列指令)是不是就可以找到中間值!?
可是我上網看的時候,它網站寫的基本指令
只有列陳列或行陳列,這樣沒有辦法把矩陣所有的灰階值做排列!!!
這是我的疑問@@拜託各位幫幫忙了ˊˋ
--
◢ ╔══╗ 誓死與女王 by jimmy508 ◤◥
▅█▅▄▃▂ █▆▆▅▃ ║ ║ ★ 對抗小黃瓜 ◤ ◥ ●▌
█ ▊ █ ║ ╔═╗ ╭═╮ ◤□-◥ ◣◥▄█
▉ ▊ ▆█▃ ╚══╗ ║ ║ │ │ ◢ ◥ ◢ ▁
◥▅█▅ █ ║ ║ ║ │ │ ◢▅▅▅▅▅█▅▃▃▃
▊ █▇██▅▄ ╚══╝ ║ ╚═╝ \_人 ◣ ◥█ ◤ ◥
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.68.68
※ 編輯: wade0222 來自: 114.37.68.68 (10/10 19:56)
※ 編輯: wade0222 來自: 114.37.68.68 (10/10 20:03)
→
10/10 20:47, , 1F
10/10 20:47, 1F
→
10/10 20:49, , 2F
10/10 20:49, 2F
我剛把指令 sum = sum + as1 (i+k,j+l);
修改為 sort = sum + as1 (i+k,j+l);
median_filter_MYHW233(i,j)=median(sum);
修改為 median_filter_MYHW233(i,j)=median(sort);
跑出來的影像是有了,也有好一點
可是跟我學校的助教弄得3*3中間值濾波的圖差很多
我剛弄出來的圖對比不是很明顯
我改成5*5的,感覺沒什麼差。
有點怪怪的,請前輩指導一下了!!!感謝
※ 編輯: wade0222 來自: 114.37.68.68 (10/10 21:56)
我剛剛也上網有找了資料跟查了一下書
我有看到sort這個指令,可是他只能對矩陣作行向量的小到大排列
整個矩陣的數值排列,找書都沒看到
我想應該是沒有這個指令!!!
請問是不是要利用一些數學運算去導出中間值?
※ 編輯: wade0222 來自: 114.37.68.68 (10/10 22:01)
→
10/10 22:52, , 3F
10/10 22:52, 3F
→
10/12 22:37, , 4F
10/12 22:37, 4F