• 大小: 5.98MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-04-28
  • 语言: 其他
  • 标签: opencv  代码  

资源简介

安装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.embed.manifest

     文件        472  2013-04-26 14:55  DeleteNoise\DeleteNoise\Debug\DeleteNoise.exe.embed.manifest.res

     文件        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\link-cvtres.read.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link-cvtres.write.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.2880-cvtres.read.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.2880-cvtres.write.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.2880.read.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.2880.write.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.3112-cvtres.read.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.3112-cvtres.write.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.3112.read.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.3112.write.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.4860-cvtres.read.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.4860-cvtres.write.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.4860.read.1.tlog

     文件          2  2013-04-26 18:05  DeleteNoise\DeleteNoise\Debug\link.4860.write.1.tlog

............此处省略39个文件信息

评论

共有 条评论