日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab调和均值滤波_均值滤波和中值滤波的MATLAB实现

發布時間:2023/12/31 循环神经网络 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab调和均值滤波_均值滤波和中值滤波的MATLAB实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 均值濾波

先創建一個 medfilter.m 文件,代碼如下:

function [output] = meansfilter(input, radius)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% input: 噪聲圖像

% r: 圖像塊半徑

%

% Auther: Gao Zheng jie

% Email: 3170601003@cuit.edu.cn

% Date: 2017-12-19

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[m n] = size(input); % 獲取圖像的行列維度,并分別賦給m和n

Output = zeros(m, n); % 定義m*n的零矩陣,用來存放去噪結果圖像

input_pad = padarray(input, [radius radius], 'symmetric'); %邊界延拓,使得位于圖像邊緣的像素點也能形成圖像塊。

% symmetric 對邊界區域進行對稱性重復(也叫鏡像鑲邊),拓展的大小為[r r],f為圖像塊半徑

%例如[2 3]表示垂直方向拓展2行,水平方向拓展3列

% 逐行、依次對圖像中的每個像素點進行局部均值去噪處理

for i=1:m % 行

for j=1:n % 列

% 在延拓后的圖像中確定將要修補點的坐標

x = i + radius;

y = j + radius;

% 確定當前像素點的鄰域(或者說當前點所在的圖像塊)

neighbordhood = input_pad(x-radius:x+radius, y-radius:y+radius);

output(i,j) = median(neighbordhood(:)); % 先將整個圖像塊扁平化,然后取中值

end

end

創建文件 test_medfilter.m 代碼如下:

clc; %清除命令窗口的內容

clf; %清除圖形

clear; %清除原有變量

colormap(gray); %設置色圖,色圖是一個m*3的矩陣,每一個位置的取值是0或1

img = imread('einstein.jpg');

input = imnoise(img, 'salt & pepper'); % 添加椒鹽噪聲,默認噪聲密度0.05(噪聲密度是指包含噪聲值的圖像區域的百分比)

output = medfilter(input, 1); % 半徑為1,即取3*3的圖像塊

output = uint8(output);

%figure %創建新的圖形窗口

%colormap(gray) %設置色圖,色圖是一個m*3的矩陣,每一個位置的取值是0或1

clf %清除圖形

subplot(2,3,1),imagesc(img),xlabel('img'); % 原圖

subplot(2,3,2),imagesc(input),xlabel('input'); % 加了噪聲的圖像

subplot(2,3,3),imagesc(input-img),xlabel('real noise'); % 計算并顯示所加的噪聲

subplot(2,3,4),imagesc(output),xlabel('output'); % 處理后的圖像

subplot(2,3,5),imagesc(input-output),xlabel('residuals noise'); % 計算并顯示噪聲冗余圖像,對去噪結果進行定性比較

將這兩個文件放在同一個文件夾下,然后在 matlab 中運行 test_medfilter.m 即可。

2. 中值濾波

先創建一個 meansfilter.m 文件,代碼如下:

function [output] = meansfilter(input, radius)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% input: 噪聲圖像

% r: 圖像塊半徑

%

% Auther: Gao Zheng jie

% Email: 3170601003@cuit.edu.cn

% Date: 2017-12-19

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[m n] = size(input); % 獲取圖像的行列維度,并分別賦給m和n

Output = zeros(m, n); % 定義m*n的零矩陣,用來存放去噪結果圖像

input_pad = padarray(input, [radius radius], 'symmetric'); %邊界延拓,使得位于圖像邊緣的像素點也能形成圖像塊。

% symmetric 對邊界區域進行對稱性重復(也叫鏡像鑲邊),拓展的大小為[r r],f為圖像塊半徑

%例如[2 3]表示垂直方向拓展2行,水平方向拓展3列

weight = (2*radius+1)^2; % 算術均值濾波中每一個像素點的權重

% 逐行、依次對圖像中的每個像素點進行局部均值去噪處理

for i=1:m % 行

for j=1:n % 列

% 在延拓后的圖像中確定將要修補點的坐標

x = i + radius;

y = j + radius;

% 確定當前像素點的鄰域(或者說當前點所在的圖像塊)

neighbordhood = input_pad(x-radius:x+radius, y-radius:y+radius);

output(i,j) = sum(sum(neighbordhood))/weight;

end

end

創建文件 test_medfilter.m 代碼如下:

clc; %清除命令窗口的內容

clf; %清除圖形

clear; %清除原有變量

colormap(gray); %設置色圖,色圖是一個m*3的矩陣,每一個位置的取值是0或1

img = imread('einstein.jpg');

input = imnoise(img, 'gaussian'); % 添加高斯噪聲,默認均值為0,方差為0.01

output = meansfilter(input, 1); % 半徑為1,即取3*3的圖像塊

output = uint8(output);

%figure %創建新的圖形窗口

%colormap(gray) %設置色圖,色圖是一個m*3的矩陣,每一個位置的取值是0或1

clf %清除圖形

subplot(2,3,1),imagesc(img),xlabel('img'); % 原圖

subplot(2,3,2),imagesc(input),xlabel('input'); % 加了噪聲的圖像

subplot(2,3,3),imagesc(input-img),xlabel('real noise'); % 計算并顯示所加的噪聲

subplot(2,3,4),imagesc(output),xlabel('output'); % 處理后的圖像

subplot(2,3,5),imagesc(input-output),xlabel('residuals noise'); % 計算并顯示噪聲冗余圖像,對去噪結果進行定性比較

將這兩個文件放在同一個文件夾下,然后在 matlab 中運行 test_medfilter.m 即可。

該文章于2017年12月19日于CSDN上首次發表,2017年12月23日搬家至此!

總結

以上是生活随笔為你收集整理的matlab调和均值滤波_均值滤波和中值滤波的MATLAB实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。