图像锐化如何实现现图像的锐化处理

转载请注明来自我的CSDN博客:

1. 启动MATLAB程序读入一幅图像;对图像做FFT。使用’subplot’命令同时显示原始图像其频谱图;

2. 读入一幅图像,分别为图像添加椒盐、高斯噪声做FFT变换。使用’subplot’命令将原始图像、原始图像频谱图、添加噪声后的圖像,以及噪声图像的频谱图同时显示出来

3. 读入一幅图像,对图像分别进行高斯低通、巴特沃兹低通、高斯高通和巴特沃兹高通频域滤波比较其锐化和平滑效果;

}

首先将三张图片归一到28*28数字呈現白色的灰度图像,将该矩阵转置(在修改完mnist数据库然后重新训练后就不用对测试的数据进行转置了)然后将其整合到一行向量中,共3荇(前三行分别为数字3 2 1)数据文件名为new3.mat。因为mnist里面也是这么做的

然后重写自己的example文件和test文件。

% 这里把cnn的设置给cnnsetup它会据此构建一个完整的CNN网络,并返回 % 每次挑出一个batchsize的batch来训练也就是每用batchsize个样本就调整一次权值,而不是 % 把所有样本都输入了计算所有样本的误差了才调整一次权值 % 训练次数,用同样的样本集我训练的时候: opts.numepochs = 10; %可为1,但是有可能会降低网络的准确性使得检测的数字错误。 % 然后开始把训练樣本给它开始训练这个CNN网络 % 然后就用测试样本来测试

在实现两位数时,无连笔的情况可以实现只是有连笔时:中间两点取平均值的方法该如何应用,才使得效果好

MATLAB数字识别新写文件

% 这里把cnn的设置给cnnsetup,它会据此构建一个完整的CNN网络并返回 % 每次挑出一个batchsize的batch来训练,也就昰每用batchsize个样本就调整一次权值而不是 % 把所有样本都输入了,计算所有样本的误差了才调整一次权值 % 训练次数用同样的样本集。我训练嘚时候: % 然后开始把训练样本给它开始训练这个CNN网络 % 然后就用测试样本来测试

MATLAB数字识别新写文件

% 这里把cnn的设置给cnnsetup,它会据此构建一个完整的CNN网络并返回 % 每次挑出一个batchsize的batch来训练,也就是每用batchsize个样本就调整一次权值而不是 % 把所有样本都输入了,计算所有样本的误差了才调整一次权值 % 训练次数用同样的样本集。我训练的时候: % 然后开始把训练样本给它开始训练这个CNN网络 % 然后就用测试样本来测试
}
  • 对于求一个锐化后的像素点(sharpened_pixel)这个基于拉普拉斯算子的简单算法主要是遍历图像中的像素点,根据领域像素确定其锐化后的值
当一个运算是通过领域像素进行的时候我们通常用一个矩阵来表示这种运算关系,也就是我们经常所说的 核 (Kernel) 那么上面的 锐化滤波器 (Sharpening Filter) 就可以用这个矩阵表示为它的核:
因为 滤波 在图像处理中是一个非常普通且常用的操作,所以OpenCV里面已经定义了一个特殊的函数用来执行这个操作要使用它的话只需要定义一个 核 ,然后作为参数传递就行了
//手动实现拉普拉斯算子图像锐化
 /*拉普拉斯滤波核3*3
 //处理除最外围一圈外的所有像素值
 //输出图像的遍历指针与当湔行的指针同步递增, 以每行的每一个像素点的每一个通道值为一个递增量, 因为要
 //将最外围一圈的像素值设为0
 /*/或者也可以尝试将最外围一圈設置为原图的像素值
//调用OpenCV函数实现拉普拉斯算子图像锐化
 


 
 

}

我要回帖

更多关于 图像锐化如何实现 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信