- 註冊時間
- 2008-9-12
- 最後登錄
- 2017-5-6
- 主題
- 查看
- 積分
- 13
- 閱讀權限
- 20
- 文章
- 7
- 相冊
- 0
- 日誌
- 0
![Rank: 2](static/image/common/star_level2.gif)
狀態︰
離線
|
close all;
clear all;
kk=3; %mask window size
ww=(kk-1)^2+1;
a=imread('eight.tif'); %開圖
B=imnoise(a,'salt & pepper',0.2);%加入椒鹽雜訊
[mm,nn]=size(a); %定義為M*N的矩陣
bb=[B(:,1:floor(kk/2)) B B(:,nn-(floor(kk/2)-1):nn)]; %增加矩陣行數
zz=[bb(1:floor(kk/2),:);bb;bb(mm-(floor(kk/2)-1):mm,:)]; % 增加矩陣列數
imshow(a); %跑原圖
[mm,nn]=size(zz);
image=im2double(zz); %換成雙浮點運算
for i=floor(kk/2)+1:mm-floor(kk/2) %取i為列數的距離
for j=floor(kk/2)+1:nn-floor(kk/2) %取j為行數的距離
tmp=image(i-floor(kk/2):i+floor(kk/2),j-floor(kk/2):j+floor(kk/2)); %取3*3矩陣數值
im=tmp(:); %以直線排列
mid=tmp(floor(kk/2)+1,floor(kk/2)+1); %算出中值
repeat=mid*ones(ww-1,1); %算出重複次數
im=[im ; repeat]; %帶回原值
[sorted index]=sort(im); %帶入中心值排序
cc=sort(im);
ee=cc(floor(length(cc)/2)+1,1);
image(i,j)=ee; %取圖檔最後位置
end % j
end % i
qq=image((1+floor(kk/2)):mm-(floor(kk/2)*2),(1+floor(kk/2)):nn-(floor(kk/2)*2)); %切割回原圖大小
figure; imshow(zz);
figure; imshow(image);
能幫我把這篇轉成C語言中的 .C檔嗎? 或者是幫我用VC6.0寫一個純C語言的中央加權中值濾波器
如果是北部的朋友 或許可以請你喝杯星巴克 其他縣市的 我看看有甚麼東西能贈送的 在寄給大大們 |
|