资源简介
自己编写的多种去噪方式对比,主要针对椒盐噪声做示例,实现了一种高水平论文中的去噪方法,利用ostu算法寻找阈值,基于阈值分割进行降噪
代码片段和文件信息
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
//***************Otsu算法通过求类间方差极大值求自适应阈值******************
int OtsuAlgThreshold(const Mat image);
Mat addSaltNoise(Mat srcImage int n);//添加椒盐噪声
Mat medianBlurdenoise(Mat img int n);//中值滤波(n*n滤波)
double getPSNR(const Mat& I1 const Mat& I2);//得到图像的峰值信噪比(PSNR)
double Nc(IplImage* src IplImage* key);//NC指标
int* OTSU_img_PART(Mat img int A int B);//求范围内的OSTU
uchar Median(uchar n1 uchar n2 uchar n3 uchar n4 uchar n5
uchar n6 uchar n7 uchar n8 uchar n9);//取中值函数
void MedianFlitering(const Mat &src Mat &dst int down int up);//有范围的中值滤波
Mat fiter_around(Mat src);//对一周进行滤波替换
int main(int argc char *argv[])
{
Mat src = imread(“12.png“);
Mat dstend_image;
//imshow(“SoureImage“ src);
cvtColor(srcdst CV_RGB2GRAY);
//imshow(“gray_image“ dst);
Mat Salt_img = addSaltNoise(dst3000);
imshow(“Salt_img“ Salt_img);
int *value_down = OTSU_img_PART(Salt_img 0 50);
cout << “OTSU_[050]:“ << value_down[0] << endl;
cout << “x_down:“ << value_down[2] << endl;
int *value_Top = OTSU_img_PART(Salt_img 200 255);
cout << “OTSU_[200255]:“ << value_Top[0] << endl;
cout << “x_top:“ << value_Top[1] << endl;
double D T;
double w = 0.2;
D = value_down[0] * w + value_down[2] * (1 - w);
T = value_Top[0] * w + value_Top[1] * (1 - w);
cout << “阈值D:“ << D << endl;
cout << “阈值T:“ << T << endl;
MedianFlitering(Salt_img end_image (int)D(int)T);
Mat finalimage = fiter_around(end_image);
imshow(“final_image“finalimage);
//imshow(“end_image“ end_image);
//Mat image=addSaltNoise(src 9000);
//imshow(“noiseimage“ image);
//double maxpsnr = getPSNR(src image);
//cout << “噪声峰值信噪比为: “ << maxpsnr << endl;
Mat median_img3 = medianBlurdenoise(Salt_img 3);
//imshow(“中值滤波3“ median_img3);
double median_psnr3 = getPSNR(dst median_img3);
cout << “3*3中值滤波后峰值信噪比为:“ << median_psnr3 << endl;
Mat median_img5 = medianBlurdenoise(Salt_img 5);
//imshow(“中值滤波5“ median_img5);
double median_psnr5 = getPSNR(dst median_img5);
cout << “5*5中值滤波后峰值信噪比为:“ << median_psnr5 << endl;
Mat median_img7 = medianBlurdenoise(Salt_img 7);
//imshow(“中值滤波7“ median_img7);
double median_psnr7 = getPSNR(dst median_img7);
cout << “7*7中值滤波后峰值信噪比为:“ << median_psnr7 << endl;
double final_psnr = getPSNR(dst end_image);
cout << “OTSU峰值信噪比为:“ << final_psnr << endl;
double final_psnr2 = getPSNR(dst finalimage);
cout << “OTSU2峰值信噪比为:“ << final_psnr2 << endl;
//Mat imageOutput;
//Mat imageOtsu;
//int thresholdValue = OtsuAlgThreshold(dst);
//cout << “类间方差为: “ << thresholdValue << endl;
//threshold(dst imageOutput thresholdValue 255 CV_THRESH_BINARY);
//threshold(dst imageOtsu 0 255 CV_THRESH_OTSU); //Opencv Otsu算法
//////imshow(“SoureImage“image);
//imshow(“Output Image“ imageOutput
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-30 08:28 Image Denoising\
文件 616791 2017-11-13 23:19 Image Denoising\12.png
文件 322615 2017-11-30 00:15 Image Denoising\30000salt.png
文件 203345 2017-11-30 00:16 Image Denoising\30000salt_3fiter.png
文件 155787 2017-11-30 00:16 Image Denoising\30000salt_5fiter.png
文件 133220 2017-11-30 00:17 Image Denoising\30000salt_7fiter.png
目录 0 2017-11-30 08:28 Image Denoising\Debug\
文件 104960 2017-11-30 23:03 Image Denoising\Debug\Image Denoising.exe
文件 717320 2017-11-30 23:03 Image Denoising\Debug\Image Denoising.ilk
文件 2355200 2017-11-30 23:03 Image Denoising\Debug\Image Denoising.pdb
目录 0 2017-11-30 08:28 Image Denoising\Image Denoising\
文件 616791 2017-11-13 23:19 Image Denoising\Image Denoising\12.png
文件 55319 2017-10-29 21:03 Image Denoising\Image Denoising\123.jpg
目录 0 2017-11-30 08:28 Image Denoising\Image Denoising\Debug\
文件 2409 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.log
目录 0 2017-11-30 08:28 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\
文件 55560 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\CL.read.1.tlog
文件 664 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\CL.write.1.tlog
文件 191 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\Image Denoising.lastbuildstate
文件 2260 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\cl.command.1.tlog
文件 6456 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\li
文件 5570 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\li
文件 620 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\Image Denoising.tlog\li
文件 330610 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\image_denoising.obj
文件 879616 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\vc120.idb
文件 1363968 2017-11-30 23:03 Image Denoising\Image Denoising\Debug\vc120.pdb
文件 4798 2017-11-13 23:11 Image Denoising\Image Denoising\Image Denoising.vcxproj
文件 956 2017-11-13 23:11 Image Denoising\Image Denoising\Image Denoising.vcxproj.filters
文件 12888 2017-11-30 23:23 Image Denoising\Image Denoising\image_denoising.cpp
文件 13369344 2017-11-30 23:23 Image Denoising\Image Denoising.sdf
文件 991 2017-11-13 23:05 Image Denoising\Image Denoising.sln
............此处省略17个文件信息
相关资源
- 北大数字图像处理课件
- 图像处理和分析基础-章毓晋
- 红外图像处理、分析与融合154309
- IDRISI遥感图像处理与地理信息系统教
- 数字图像处理-彩色图像基础
- 数字图像处理第三版课后题答案 全
- Kodak Lossless True Color Image Suite
- 图像处理常用测试图_彩色_灰度图
- 计算机高新技术图像处理PhotoShop cs3(
- zw_a7088896-4819880-数字图像处理_第三版
- 数字图像处理与分析 [杨帆 编著] 20
- 《声呐图像处理》与《多波束测深及
- 特征提取与图像处理第二版pdf
- 2017年kaggle百万肺癌竞赛第一名的代码
- 图像处理第三版-章毓晋
- ENVI遥感图像处理方法 第2版 邓书斌
- 特征提取与图像处理(中文第2版)
- 冈萨雷斯 数字图像处理 第三版
- 遥感数字图像处理教程 韦玉春,汤国
- 数字图像处理第三版--冈萨雷斯--书中
- 图像处理标准测试图像数据集
- halcon学习网资料供大家学习
- 红外图像处理、分析与融合
- 基于FPGA的嵌入式图像处理系统设计
- 广工 数字图像处理2015-2017试卷
- opencv求取多轮廓质心并在输出图像显
- RGB图像处理+颜色识别
- 自己写的QT图像处理系统,和opencv进行
- 数字图像处理(冈萨雷斯第三版)北
- 数字图像处理课件-北京大学
评论
共有 条评论