中值滤波-均值滤波-边缘检测-角点检测-基于opencv.doc_第1页
中值滤波-均值滤波-边缘检测-角点检测-基于opencv.doc_第2页
中值滤波-均值滤波-边缘检测-角点检测-基于opencv.doc_第3页
中值滤波-均值滤波-边缘检测-角点检测-基于opencv.doc_第4页
中值滤波-均值滤波-边缘检测-角点检测-基于opencv.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,opencv.txt#include #include #include using namespace std;bool FilterAV(IplImage* &image,int k);bool FilterAV2(IplImage* &image,int k);bool FilterMid(IplImage* &image,int k);bool FilterMid2(IplImage* &image,int k);bool FeatureTrack(IplImage* &image);bool EdgeTrack(IplImage* &image,int threshold1,int threshold2);int main(int argc,char *argv)/argc*argvIplImage *img=0;int height,width,step,channels;uchar *data;/img=cvLoadImage(OpenCvDemo.jpg,0);/5img=cvLoadImage(OpenCvDemo.jpg,0);if (!img)printf(could not load image file: %sn,OpenCvDemo.jpg);exit(0);/height=img-height;width=img-width;step=img-widthStep;channels=img-nChannels;data=(uchar*)img-imageData;printf(processing a %dx%d image with %d channelsn,height,width,channels);/cvNamedWindow(mainWin,CV_WINDOW_AUTOSIZE);cvMoveWindow(mainWin,100,100);/FilterAV2(img,3);/FilterAV(img,3);/FilterMid(img,3);/FilterMid2(img,3);/FilterAV(img,3);FeatureTrack(img);/EdgeTrack(img,60,80);/cvShowImage(mainWin,img);/wait for a keycvWaitKey(0);/release the imagecvReleaseImage(&img);return 0;bool FilterAV(IplImage* &image,int k)/IplImage *image2=cvCreateImage(cvSize(image-width,image-height),image-depth,1);uchar *p=(uchar *)image2-imageData;/image2int m=(k-1)/2;for (int x=m;xheight-m;+x)for (int y=m;ywidth-m;+y)int SumData=0;for (int i=-m;im+1;+i)for (int j=-m;jimageData)(x+i)*image-widthStep+y+j;px*image-widthStep+y=SumData/(k*k);image=cvCloneImage(image2);/cvReleaseImage(&image2);/return true;bool FilterAV2(IplImage* &image,int k)/cvSmoothIplImage *dstImage=0;dstImage=cvCreateImage(cvGetSize(image),image-depth,1);cvSmooth(image,dstImage,CV_BLUR,k,k);/CV_BLUR3*3image=cvCloneImage(dstImage);cvReleaseImage(&dstImage);return true;bool FilterMid(IplImage* &image,int k)/IplImage *image2=cvCreateImage(cvSize(image-width,image-height),image-depth,1);uchar *ImagePix=(uchar *)image2-imageData;int m=(k-1)/2;for (int x=m;xheight-m;+x)for (int y=m;ywidth-m;+y)uchar PixArray100;int t=0;for (int i=-m;im+1;+i)for(int j=-m;jimageData)(x+i)*image-widthStep+y+j;for (int i=0;ik*k-1;+i)for(int j=0;jPixArrayj+1)uchar k=PixArrayj;PixArrayj=PixArrayj+1;PixArrayj+1=k;ImagePixx*image-widthStep+y=PixArray(k*k-1)/2;image=cvCloneImage(image2);/cvReleaseImage(&image2);/return true;bool FilterMid2(IplImage* &image,int k)/IplImage *dstImage=0;/dstImage=cvCreateImage(cvGetSize(image),image-depth,1);/cvSmooth(image,dstImage,CV_MEDIAN,k,k);/CV_BLUR3*3/image=cvCloneImage(dstImage);/cvReleaseImage(&dstImage);cvSmooth(image,image,CV_MEDIAN,k,k);return true; /bool FeatureTrack(IplImage* &image)CvPoint2D32f corners100000;int CornerCount=0;IplImage *corners1=0,*corners2=0;corners1= cvCreateImage(cvGetSize(image), image-depth, 1);corners2= cvCreateImage(cvGetSize(image),image-depth, 1);cvGoodFeaturesToTrack(image,corners1,corners2,corners,&CornerCount,0.05,20,0);coutTrack over!;/ draw circles at each corner location in the gray image and/ print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论