利用MATLAB实现对一幅彩色图像的高斯滤波(不采用MATLAB函数)。

news/2024/7/21 5:12:19 标签: matlab, 图像处理

利用rgb三通道分别高斯滤波的方案完成对彩色图像的高斯滤波

function gaosilvbo()
I=imread('1.jpeg');
I= imnoise(I,'gaussian'); %加噪
imshow(I);
I1=I(:,:,1);%提取红色分量
I2=I(:,:,2);%提取绿色分量
I3=I(:,:,3);%提取蓝色分量
I1=gaosi(I1);   %构造的函数
I2=gaosi(I2);
I3=gaosi(I3);
c=cat(3,I1,I2,I3);  %cat用于构造多维数组
subplot(1,2,1);imshow(I),title('原图');
subplot(1,2,2);imshow(c),title('myself高斯滤波');

%--------------------------------------------------------------------------------------------------------------------
function d=gaosi(I)%构造高斯函数
OriImage_noise=I;
[ori_row,ori_col]=size(OriImage_noise);
sigma = 0.8; %sigma赋值
N = 7; %大小是(2N+1)×(2N+1)
N_row = 2N+1;
H = []; %求高斯模板H
for i=1:N_row
for j=1:N_row
fenzi=double((i-N-1)2+(j-N-1)2);
H(i,j)=exp(-fenzi/(2
sigmasigma))/(2pi*sigma);
end
end
H=H/sum(H(冒号)); %归一化(汉字冒号改为“ :”后运行)

desimg=zeros(ori_row,ori_col); %滤波后图像
for i=1:ori_row
for j=1:ori_col
desimg(i,j)=OriImage_noise(i,j);
end
end

temp=[];
for ai=N+1:ori_row-N-1
for aj=N+1:ori_col-N-1
temp=0;
for bi=1:N_row
for bj=1:N_row
temp= temp+(desimg(ai+bi-N,aj+bj-N)*H(bi,bj));
end
end
desimg(ai,aj)=temp;
end
end
desimg=uint8(desimg);
d=desimg;

图片来源于网络

支持可以关注我哦,持续分享编写的代码。


http://www.niftyadmin.cn/n/744639.html

相关文章

2021年金属非金属矿山(露天矿山)主要负责人模拟考试题及金属非金属矿山(露天矿山)主要负责人模拟考试系统

题库来源:安全生产模拟考试一点通公众号小程序 2021年金属非金属矿山(露天矿山)主要负责人模拟考试题及金属非金属矿山(露天矿山)主要负责人模拟考试系统,包含金属非金属矿山(露天矿山&#xf…

C. Polycarp Restores Permutation(思维)Codeforces Round #547 (Div. 3)

原题链接:https://codeforces.com/contest/1141/problem/C 题意:给你一个长度为n-1的p序列,其中p[i]a[i1]-a[i];求原排列a,要求a序列中[1,n]每个数字都只出现一次,若有,则输出此序列,若没有&am…

peer启动过程源码分析

由图片可以看出peer启动节点后先初始化一下日志 然后进入Server函数 // //peer node start 之后做日志初始化之后就进入到server函数 // func serve(args []string) error { // Parameter overrides must be processed before any paramaters are // cached. Failures to …

matlab图像处理-目标检测与前背景分离

根据背景图和前景图,提取目标并计数 方案如下: 1.将两张图像反色,并进行减法运算,突出目标区域 2.对图像进行二值化 3.对图像进行二值化,创建圆形结构元素,进行开运算、闭运算 4.提取圆形区域个数并输出 …

2021年保育员(高级)多少钱及保育员(高级)考试申请表

题库来源:安全生产模拟考试一点通公众号小程序 2021年保育员(高级)多少钱及保育员(高级)考试申请表,包含保育员(高级)多少钱答案和解析及保育员(高级)考试申…

1141E - Superhero Battle(数学思维) Codeforces Round #547 (Div. 3)

原题链接:https://codeforces.com/contest/1141/problem/E 题意:超人与怪兽要进行多个个回合的战斗,每一个回合又细分为n分钟,在这一回合中每经过一分钟,怪兽会获得血量的加成或减少,问经过多少分钟后&…

数字逻辑与电路系统课程设计 综合设计报告-水位控制器

一、实验题目 水位控制器 二、功能要求 1、设计并制作一个水塔水位控制器,该控制器具有4个水位检测输入,由低到高水位检测点分别为H1,H2,H3,H4;控制器根据水位状态控制两个水泵的工作。 2、在各水位检测点,应能准确可靠的检测出水…

基于MVC开发模式的javaWeb项目开发流程

一、MVC模式简单介绍 M-->model--->模型层-->entity/dao/service V--> view -->视图层-->jsp/html… C-->control-->控制器-->servlet 模型层:封装对数据库的访问的一些类 视图层:各个JSP页面,通过Controller…