資源簡介
安裝opencv庫后去除圖片上的椒鹽噪聲,C程序

代碼片段和文件信息
//?DeleteNoise.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include?
?
using?namespace?std;
using?namespace?cv;
//void?salt(cv::Mat&?int?n=3000);
/*
int?_tmain(int?argc?_TCHAR*?argv[])
{
const?char*?imagename?=?“lena.jpg“;
?
//從文件中讀入圖像
Mat?img?=?imread(imagename);
//如果讀入圖像失敗
if(img.empty())
{
fprintf(stderr?“Can?not?load?image?%s\n“?imagename);
return?-1;
}
?//????salt(img?3000);
//
cvSmooth(?const?CvArr*?src?CvArr*?dst
???????????????int?smoothtype=CV_GAUSSIAN
???????????????int?param1=3?int?param2=0?double?param3=0?double?param4=0?);
//顯示圖像
imshow(“image“?img);
?
//此函數等待按鍵,按鍵盤任意鍵就返回
waitKey();
?
return?0;
}
*/
int?main(?int?argc?char**?argv?)
{
??//聲明IplImage指針
??IplImage*?pImg?=?NULL;?
??IplImage*?pdenoiseImg?=?NULL;
?
??//載入圖像,強制轉化為Gray
?/*?if(?argc?==?2?&&?
????????(pImg?=?cvLoadImage(?argv[1]?0))?!=?0?)//[[此處的argc==2是否需要改成argc==1?我改了之后才能運行成功。求大牛解惑]]?//??wmzzzz?:?在“屬性“|“debug“|里的command?arguments?里加入參數(一個路徑:要打開的文件路徑)?這時?argc==2?就合理了...可以試試多加幾個
????{
????????cvNamedWindow(?“Image“?1?);//創建窗口
????????cvShowImage(?“Image“?pImg?);//顯示圖像
?
????????cvWaitKey(0);?//等待按鍵
?
????????cvDestroyWindow(?“Image“?);//銷毀窗口
????????cvReleaseImage(?&pImg?);?//釋放圖像
????????return?0;
????}*/
??if(?argc?==?2?&&?
??????(pImg?=?cvLoadImage(?argv[1]?1))?!=?0?)
????{
?
// cvCopy(?pdenoiseImgpImg?NULL);
????/*?pdenoiseImg?=?cvCreateImage(cvGetSize(pImg)
??IPL_DEPTH_8U
??1);?*/
?????pdenoiseImg?=?cvCreateImage(cvGetSize(pImg)
??????pImg->depth
??????pImg->nChannels);
??//高斯濾波
?cvSmooth(?pImg?pdenoiseImgCV_GAUSSIAN?3?0?0?0?);
??????//創建窗口
??????cvNamedWindow(“src“?1);
??????cvNamedWindow(“dsc“1);
cvSmooth(?pImg?pdenoiseImg
???????????????CV_GAUSSIAN
???????????????3?0?0?0?);
?
??????//顯示圖像
??????cvShowImage(?“src“?pImg?);
??????cvShowImage(?“dsc“?pdenoiseImg?);
cvSave(?“denoise.jpg“?pdenoiseImg);
??????cvWaitKey(0);?//等待按鍵
?
??????//銷毀窗口
??????cvDestroyWindow(?“src“?);
??????cvDestroyWindow(?“dsc“?);
??????//釋放圖像
??????cvReleaseImage(?&pImg?);?
??????cvReleaseImage(?&pdenoiseImg?);?
?
??????return?0;
????}
??return?-1;
}
/*
#include?
#include?
#include?
void?salt(cv::Mat&?int?n=3000);
int?main()
{????
cv::Mat?image?=?cv::imread(“E:\Projects\DeleteNoise\Lena.jpg“);???
salt(image?10000);???
cv::namedWindow(“image“);?
cv::imshow(“image“image);?
cv::waitKey(0);
}
void?salt(cv::Mat&?image?int?n){?
for(int?k=0;?k int?i?=?rand()%image.cols;???
int?j?=?rand()%image.rows;??????
if(image.channels()?==?1){????????
image.at(ji)?=?255;??????
}
else{??????????
image.at(ji)[0]?=?255;????
image.at(ji)[1]?=?255;?????
image.at(ji)[2]?=?255;????
}??
}
}
*/
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????29696??2013-04-26?18:05??DeleteNoise\Debug\DeleteNoise.exe
?????文件?????406112??2013-04-26?18:05??DeleteNoise\Debug\DeleteNoise.ilk
?????文件????1772544??2013-04-26?18:05??DeleteNoise\Debug\DeleteNoise.pdb
?????文件????1343962??2013-04-26?18:03??DeleteNoise\Debug\denoise.jpg
?????文件?????157792??2013-04-26?14:49??DeleteNoise\Debug\lena.jpg
?????文件???????1458??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\cl.command.1.tlog
?????文件??????21386??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\CL.read.1.tlog
?????文件????????764??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\CL.write.1.tlog
?????文件????????406??2013-04-26?14:55??DeleteNoise\DeleteNoise\Debug\DeleteNoise.exe.em
?????文件????????472??2013-04-26?14:55??DeleteNoise\DeleteNoise\Debug\DeleteNoise.exe.em
?????文件????????381??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\DeleteNoise.exe.intermediate.manifest
?????文件?????????51??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\DeleteNoise.lastbuildstate
?????文件????????916??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\DeleteNoise.log
?????文件?????105606??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\DeleteNoise.obj
?????文件????1179648??2013-04-26?14:55??DeleteNoise\DeleteNoise\Debug\DeleteNoise.pch
?????文件????????212??2013-04-26?14:55??DeleteNoise\DeleteNoise\Debug\DeleteNoise_manifest.rc
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
?????文件??????????2??2013-04-26?18:05??DeleteNoise\DeleteNoise\Debug\li
............此處省略39個文件信息
- 上一篇:基于遺傳算法的聚類分析論文
- 下一篇:Ucinet使用指南
評論
共有 條評論