当前位置:网站首页>[image denoising] image denoising based on mean + median + Gauss low pass + various improved wavelet transform, including Matlab source code
[image denoising] image denoising based on mean + median + Gauss low pass + various improved wavelet transform, including Matlab source code
2022-06-11 09:41:00 【Matlab Research Assistant】
1 brief introduction
The image denoising method combining mean filtering and wavelet transform is to decompose the noisy image by wavelet first , In the wavelet domain , Select an appropriate threshold to process the wavelet coefficients , Then the image signal is locally reconstructed to the first layer , Different templates are used to filter the mean value of each sub image of the first layer , Finally, the denoised image is synthesized from the low-frequency approximate image and the high-frequency detail image after mean filtering . This method is related to the global Donoho soft , Hard threshold wavelet denoising method and method Birge-Massart Soft strategy , Compared with the hard threshold wavelet denoising method , Its denoising effect is more obvious . It reduces the noise of the image while , And keep the details of the image as much as possible , And the image is smoother . Simulation results show that , This method is an effective image denoising method .
2 Part of the code
function X = wdenoise(x, measure, sorh, thr, wname, n)
% Threshold denoising function
% x Is a noisy image
% measure Indicates global or local
% sorh Represents the soft and hard threshold method
% thr Threshold value
% wname Is the name of the wavelet function
% n For the decomposition hierarchy
[C, S] = wavedec2(x, n, wname); % Wavelet decomposition of the image
switch measure
case 'gbl' % Global threshold method
dcoef = C( prod(S(1, :)) + 1 : end); % Extract the detail part coefficient
switch sorh
case 'h' % Hard threshold
dcoef = dcoef .* (abs(dcoef) > thr);
case 's' % Soft threshold
temp = abs(dcoef) - thr;
temp = (temp + abs(temp)) / 2;
dcoef = sign(dcoef) .* temp;
end
C( prod(S(1, :)) + 1 : end) = dcoef;
case 'lvd' % Local threshold method
for i = n:-1:1 % Each layer is treated separately
k = size(S,1) - i;
first = prod(S(1, :)) + ...
3 * sum(S(2:k-1, 1) .* S(2:k-1, 2)) + 1;
% The first i The starting position of the layer detail factor
last = first + 3*prod(S(k,:)) - 1; % Termination position
dcoef = C(first : last); % Detail factor
switch sorh
case 'h' % Hard threshold
dcoef = dcoef .* (abs(dcoef) > thr(i));
case 's' % Soft threshold
temp = abs(dcoef) - thr(i);
temp = (temp + abs(temp)) / 2;
dcoef = sign(dcoef) .* temp;
end
C(first:last) = dcoef;
end
end
X = waverec2(C, S, wname); % Reconstruct the image
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
3 Simulation results

4 reference
[1] Peng Shushu . Image denoising based on mean filter and wavelet transform [J]. Modern computers , 2019(12):6.
About bloggers : Good at intelligent optimization algorithms 、 Neural networks predict 、 signal processing 、 Cellular automata 、 The image processing 、 Path planning 、 UAV and other fields Matlab Simulation , relevant matlab Code problems can be exchanged by private letter .
Some theories cite network literature , If there is infringement, contact the blogger to delete .

边栏推荐
- Before applying data warehouse ODBC, you need to understand these problems first
- The difference and relation between machine learning and statistics
- document对象
- P4147 "jade toad Palace"
- Concurrent programming
- 【ROS】noedic-moveit安装与UR5模型导入
- Video review pulsar summit Asia 2021, cases, operation and maintenance, ecological dry goods
- Version mismatch between installed deeply lib and the required one by the script
- Development of PCBA circuit board for small oxygen generator
- 1493. 删掉一个元素以后全为 1 的最长子数组
猜你喜欢

Flask (VIII) - form processing

Modularnotfounderror: no module named 'find_ version’

Concurrent programming

Control statement if switch for while while break continue

document对象

Version mismatch between installed deeply lib and the required one by the script

Machine learning notes - in depth Learning Skills Checklist

Openstack explanation (24) -- registration of neutron service

面试常问:rem布局,flex布局等

Exclusive interview - dialogue on open source Zhai Jia: excellent open source projects should be seen by more people. I am honored to participate in them
随机推荐
Don't use redis list to implement message queue. Stream is designed for queues
Redis transaction details
DOS command virtual environment
Error [error] input tesnor exceeded available data range [neuralnetwork (3)] [error] input tensor '0' (0)
PD chip ga670-10 for OTG while charging
Customize PCBA scheme and develop wrist sphygmomanometer scheme
[TiO websocket] v. TiO websocket server counts the number of online people
Openstack explanation (24) -- registration of neutron service
Set up redis highly available cluster environment
Esp8266 Smartconfig
Runtimeerror: blobreader error:the version of imported blob doesn't match graph_ transformer
Machine learning notes - the story of master kaggle Janio Martinez Bachmann
报错Version mismatch between installed depthai lib and the required one by the scrip.
ESP8266_SmartConfig
Thread theory
Analysis of Kube scheduler disk scheduling source code
ESP8266_ Connect to Alibaba cloud through mqtt protocol
Tissu. JS définit dynamiquement la taille de la police
剑指 Offer II 041. 滑动窗口的平均值
Method (common method), method execution memory analysis, method overloading mechanism, method recursion