收藏 分销(赏)

中值滤波,均值滤波,边缘检测,角点检测,基于opencv.doc

上传人:pc****0 文档编号:7566055 上传时间:2025-01-09 格式:DOC 页数:6 大小:27.50KB
下载 相关 举报
中值滤波,均值滤波,边缘检测,角点检测,基于opencv.doc_第1页
第1页 / 共6页
中值滤波,均值滤波,边缘检测,角点检测,基于opencv.doc_第2页
第2页 / 共6页
中值滤波,均值滤波,边缘检测,角点检测,基于opencv.doc_第3页
第3页 / 共6页
中值滤波,均值滤波,边缘检测,角点检测,基于opencv.doc_第4页
第4页 / 共6页
中值滤波,均值滤波,边缘检测,角点检测,基于opencv.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

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

2、 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-wid

3、thStep;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);FeatureT

4、rack(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=(

5、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

6、 *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)

7、;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;PixArr

8、ayj+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=cvClon

9、eImage(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(i

10、mage),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 out a list the cornersfor (int i=0;idepth,1);/cvNot(image,edge);/,cvCanny(image,image,threshold1,threshold2,3);/threshold1,threshold2/imagereturn true;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服