




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include <iostream>#include <cv.h>#include <highgui.h>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* &ima
2、ge);bool EdgeTrack(IplImage* &image,int threshold1,int threshold2);int main(int argc,char *argv)/argc指变量的个数,*argv指向字符变量IplImage *img=0;int height,width,step,channels;uchar *data;/载入图像/img=cvLoadImage("OpenCvDemo.jpg",0);/转化为单通道,灰度图像5img=cvLoadImage("OpenCvDemo.jpg",0);if (!im
3、g)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,channel
4、s);/创建窗口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
5、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;/申请image2图像空间int m=(k-1)/2;for (int x=m;x<image
6、->height-m;+x)for (int y=m;y<image->width-m;+y)int SumData=0;for (int i=-m;i<m+1;+i)for (int j=-m;j<m+1;+j)/k为奇数,计算k*k区域的灰度和SumData+=(int)(uchar *)image->imageData)(x+i)*image->widthStep+y+j;px*image->widthStep+y=SumData/(k*k);image=cvCloneImage(image2);/拷贝给原图像cvReleaseImage(
7、&image2);/销毁临时变量return true;bool FilterAV2(IplImage* &image,int k)/调用cvSmooth函数实现IplImage *dstImage=0;dstImage=cvCreateImage(cvGetSize(image),image->depth,1);cvSmooth(image,dstImage,CV_BLUR,k,k);/CV_BLUR在3*3大小进行均值滤波image=cvCloneImage(dstImage);cvReleaseImage(&dstImage);return true;boo
8、l 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;x<image->height-m;+x)for (int y=m;y<image->width-m;+y)uchar PixArray100;int t=
9、0;for (int i=-m;i<m+1;+i)for(int j=-m;j<m+1;+j)/赋值操作PixArrayt+=(uchar *)image->imageData)(x+i)*image->widthStep+y+j;for (int i=0;i<k*k-1;+i)for(int j=0;j<k*k-i-1;+j)/起泡法快速排序if (PixArrayj>PixArrayj+1)uchar k=PixArrayj;PixArrayj=PixArrayj+1;PixArrayj+1=k;ImagePixx*image->widthS
10、tep+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_BLUR在3*3大小进行均值滤波/image=cvC
11、loneImage(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= c
12、vCreateImage(cvGetSize(image),image->depth, 1);cvGoodFeaturesToTrack(image,corners1,corners2,corners,&CornerCount,0.05,20,0);cout<<"Track over!"/ draw circles at each corner location in the gray image and/ print out a list the cornersfor (int i=0;i<CornerCount;+i)cvCircle(image,cvPoint(int)cornersi.x,(int)cornersi.y),5,cvScalar(255,255,255),2);cvReleaseImage(&corners1);cvReleaseImage(&corners2);return true;bool EdgeTrack(IplImage* &image,int threshold1,int threshold2)IplImage *edge=0;edg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非物质文化遗产的数字化记录与活态演绎-洞察阐释
- 异构系统中增量备份技术的性能优化分析-洞察阐释
- 干细胞移植联合PCI-洞察及研究
- 安徽省宣城市郎溪中学2025届高二下化学期末考试模拟试题含解析
- 非语言沟通在医学沟通中的作用研究-洞察阐释
- 服务器能耗管理-洞察阐释
- 本体演化自适应机制-洞察及研究
- 2025届山东省华侨中学高二下化学期末调研试题含解析
- 社会组织能力提升策略-洞察阐释
- 成本控制与预算管理融合机制及其对企业绩效的影响研究
- 2025年 东北石油大学招聘考试笔试试题附答案
- 2025年安徽省中考地理真题试卷(含答案)
- 人教版2025年八年级英语下学期期末总复习(专题训练)专题01单项选择【期末易错100题】(人教版)(学生版+解析)
- 企业财务内控管理制度
- 2025以色列与伊朗冲突全面解析课件
- 警察抓捕教学课件
- 2025年农产品质量安全追溯体系在食品安全监管中的应用与改进报告
- 做账实操-渔业行业的账务处理分录实例
- 2025-2030年中国手持三维激光扫描仪行业市场深度分析及发展趋势与投资前景研究报告
- 2025-2030年中国单壁碳纳米管(SWNT)行业市场现状供需分析及投资评估规划分析研究报告
- 新教育 考试试题及答案
评论
0/150
提交评论