GaussFilter

void framecj_GaussFilter(){

int i, j, k;
int data, step, now, temp;
data = 0;
step = framecj_ImgWidth * 3;
for (i = 0; i < framecj_ImgHeight; i++){
now = data;
for (j = 0; j < framecj_ImgWidth; j++){
if (i < 1 || j < 1 || i > framecj_ImgHeight - 2 || j > framecj_ImgWidth - 2){
global_IMGBuf[now + 2] = framecj_ImgBuf[now + 2];//global_ImgBuf;
global_IMGBuf[now + 1] = framecj_ImgBuf[now + 1];//global_ImgBuf;
global_IMGBuf[now + 0] = framecj_ImgBuf[now + 0];//global_ImgBuf;
}
else{
temp = framecj_ImgBuf[now - step - 1] + framecj_ImgBuf[now - step + 2] * 2 + framecj_ImgBuf[now - step + 5]
+ framecj_ImgBuf[now - 1] * 2 + framecj_ImgBuf[now + 2] * 4 + framecj_ImgBuf[now + 5] * 2
+ framecj_ImgBuf[now + step - 1] + framecj_ImgBuf[now + step + 2] * 2 + framecj_ImgBuf[now + step + 5];
global_IMGBuf[now + 2] = temp >> 4;


temp = framecj_ImgBuf[now - step - 2] + framecj_ImgBuf[now - step + 1] * 2 + framecj_ImgBuf[now - step + 4]
+ framecj_ImgBuf[now - 2] * 2 + framecj_ImgBuf[now + 1] * 4 + framecj_ImgBuf[now + 4] * 2
+ framecj_ImgBuf[now + step - 2] + framecj_ImgBuf[now + step + 1] * 2 + framecj_ImgBuf[now + step + 4];
global_IMGBuf[now + 1] = temp >> 4;


temp = framecj_ImgBuf[now - step - 3] + framecj_ImgBuf[now - step] * 2 + framecj_ImgBuf[now - step + 3]
+ framecj_ImgBuf[now - 3] * 2 + framecj_ImgBuf[now] * 4 + framecj_ImgBuf[now + 3] * 2
+ framecj_ImgBuf[now + step - 3] + framecj_ImgBuf[now + step] * 2 + framecj_ImgBuf[now + step + 3];
global_IMGBuf[now] = temp >> 4;
}
now += 3;
}
data += step;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像处理代码共享-gauss_filter.m ---------------------------------我是分割线-------------------------------------- h=fspecial%3*3的均值滤波器 h=fspecial%半径为5的圆形平均模板 h=fspecial%5*5,标准差为0.5的高斯低通滤波器 h=fspecial%加强水平边缘的竖直梯度算子 ---------------------------------我是分割线-------------------------------------- I=imread; figure,imshow; h3_5=fspecial; I3_5=imfilter; figure,imshow; h3_18=fspecial; I3_18=imfilter; figure,imshow; h5_8=fspecial; I5_8=imfilter; figure,imshow; imwrite; h7_12=fspecial; I7_12=imfilter; figure,imshow; imwrite; ---------------------------------我是分割线-------------------------------------- f=imread; imshow; w=[0.1 0.1 0.1;0.1 0.1 0.1;0.1 0.1 0.1] w g=imfilter; figure,imshow; ---------------------------------我是分割线-------------------------------------- I=imread; figure,imshow; h=fspecial; I3=imfilter; figure,imshow; h=fspecial; I5=imfilter; figure,imshow; ---------------------------------我是分割线-------------------------------------- %Robert 交叉梯度 I=imread; imshow; w1=[-1 0;0 1]; w2=[0 -1;1 0]; G1=imfilter; G2=imfilter; G=abs abs; figure,imshow; figure,imshow,[]); figure,imshow,[]); ---------------------------------我是分割线-------------------------------------- %三种拉普拉斯模板 I=imread; imshow; I=double; w1=[0 -1 0;-1 4 -1;0 -1 0]; L1=imfilter; w2=[-1 -1 -1;-1 8 -1;-1 -1 -1]; L2=imfilter; figure,imshow,[]); figure,imshow,[]); w3=[1 4 1;4 -20 4;1 4 1]; L3=imfilter; figure,imshow,[]); ---------------------------------我是分割线-------------------------------------- %sobel梯度 I=imread; w1=fspecial; w2=w1'; G1=imfilter; G2=imfilter; G=abs abs; figure,imshow; figure,imshow; figure,imshow; ---------------------------------我是分割线-------------------------------------- I=imread; figure,imshow; Id=double; h_lap=[-1 -1 -1;-1 8 -1;-1 -1 -1]; I_lap=imfilter; figure,imshow),[]); h_log=fspecial; I_log=imfilter; figure,imshow),[]); h_log=fspecial; I_log=imfilter; figure,imshow),[]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值