资源描述:
《模式识别作业一(airplane,bus,car的轮廓特征和颜色特征提取结果)1.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、模式识别班级:08108班姓名:王胤鑫09号学号:08210224颜色特征提取程序:#include#include#includeusingnamespacestd;intmain(intargc,char**argv)//voidmain(){IplImage*src;char*filename=argc==2?argv[1]:(char*)"0001.jpg";if((src=cvLoadImage(filename,1))==0)return-1;IplImage*hsv=cvCreateImage(cvGetSize(src),8
2、,3);IplImage*h_plane=cvCreateImage(cvGetSize(src),8,1);IplImage*s_plane=cvCreateImage(cvGetSize(src),8,1);IplImage*v_plane=cvCreateImage(cvGetSize(src),8,1);IplImage*planes[]={h_plane,s_plane};/**H分量划分为16个等级,S分量划分为8个等级*/inth_bins=16,s_bins=8;inthist_size[]={h_bins,s_bins};/**H分量的变化范围*/floath_ranges[
3、]={0,180};/**S分量的变化范围*/floats_ranges[]={0,255};float*ranges[]={h_ranges,s_ranges};/**输入图像转换到HSV颜色空间*/cvCvtColor(src,hsv,CV_BGR2HSV);cvCvtPixToPlane(hsv,h_plane,s_plane,v_plane,0);/**创建直方图,二维,每个维度上均分*/CvHistogram*hist=cvCreateHist(2,hist_size,CV_HIST_ARRAY,ranges,1);/**根据H,S两个平面数据统计直方图*/cvCalcHist(pl
4、anes,hist,0,0);/**获取直方图统计的最大值,用于动态显示直方图*/floatmax_value;cvGetMinMaxHistValue(hist,0,&max_value,0,0);/**设置直方图显示图像*/intheight=240;intwidth=(h_bins*s_bins*6);IplImage*hist_img=cvCreateImage(cvSize(width,height),8,3);cvZero(hist_img);/**用来进行HSV到RGB颜色转换的临时单位图像*/IplImage*hsv_color=cvCreateImage(cvSize(1,1
5、),8,3);IplImage*rgb_color=cvCreateImage(cvSize(1,1),8,3);intbin_w=width/(h_bins*s_bins);for(inth=0;h6、cvSet2D(hsv_color,0,0,cvScalar(h*180.f/h_bins,s*255.f/s_bins,255,0));cvCvtColor(hsv_color,rgb_color,CV_HSV2BGR);CvScalarcolor=cvGet2D(rgb_color,0,0);cvRectangle(hist_img,cvPoint(i*bin_w,height),cvPoint((i+1)*bin_w,height-intensity),color,-1,8,0);}}cvNamedWindow("Source",1);cvShowImage("Source",src);
7、cvNamedWindow("H-SHistogram",1);cvShowImage("H-SHistogram",hist_img);cvWaitKey(0);returntrue;}轮廓特征提取程序:#include"cv.h"#include"highgui.h"charwndname[]="Edge";chartbarname[]="Threshold";intedge_thresh=1