資源簡介
適用于初接觸交通燈識別的初學(xué)者!根據(jù)顏色分割、圖像濾波進(jìn)行圖像預(yù)處理,之后根據(jù)像素特點(diǎn)(長寬比、像素個(gè)數(shù)等)進(jìn)行精確提取特征區(qū)域,最后利用匹配進(jìn)行識別。

代碼片段和文件信息
#include?“../header/TrafficSignRecognition.h“
//Traffic?sign?recognition?from?640x480?RGB?images
//Images?are?converted?to?grayscale?then?filtered?and?then?processed?to?identify?and?recognize?the?sign.
int?main()
{
char?first[255];
char?last[255];
char?full[255];
//number?of?images?to?check
int?num?=55;
//result?r[10];
//setting?string?to?receive?all?the?names?in?the?form:?“(Test)(number)(.jpg)“
//sprintf_s(first??“data“);
sprintf_s(last??“.jpg“);
//sprintf_s(full??“%d%s“?num?last);
for?(int?k=1;?k {
sprintf_s(full??“%d%s“?k?last);
IplImage*?image?=?cvLoadImage(full?CV_LOAD_IMAGE_GRAYSCALE);??????
//Gaussian?filter
cvSmooth(image?image?CV_GAUSSIAN33);
cvDilate(imageimageNULL?1);
cvCvtColor(image?image?CV_GRAY2RGB);
IplImage*?hsv?=?cvCreateImage(?cvGetSize(image)?IPL_DEPTH_8U?3?);
IplImage?*gray?=?cvCreateImage(cvGetSize(image)IPL_DEPTH_8U1);
hsv?=?convertPixeltoHSV(image);
CvMemStorage*?storage?=?cvCreateMemStorage(0);
cvCvtColor(image?gray?CV_RGB2GRAY);
//Separate?RGB?Colors
IplImage*?image_red?=?cvCreateImage(?cvGetSize(image)?IPL_DEPTH_8U?1?);
IplImage*?image_blue?=?cvCreateImage(?cvGetSize(image)?IPL_DEPTH_8U?1?);
IplImage*?image_yellow?=?cvCreateImage(?cvGetSize(image)?IPL_DEPTH_8U?1?);
IplImage?*image_gray?=?cvCreateImage(cvGetSize(image)IPL_DEPTH_8U1);
cvSmooth(hsv?hsv?CV_GAUSSIAN33);
detectRed(hsv?image_red);
detectBlue(hsv?image_blue);
detectYellow(hsv?image_yellow);
//?Add?the?tracking?image?and?the?frame
cvAdd(image_red?image_blue?image_gray);
cvAdd(image_gray?image_yellow?image_gray);
cvDilate(image_grayimage_grayNULL?1);
cvDilate(image_grayimage_grayNULL?1);
cvDilate(image_grayimage_grayNULL?1);
cvDilate(image_grayimage_grayNULL?1);
//cvErode(image_grayimage_grayNULL?1);
cvNamedWindow(?“viewer_gray“?1);
cvShowImage(?“viewer_gray“?image_gray);??????//?show?image
cvWaitKey(0);
IplImage*?image_cluster?=?cvCreateImage(?cvGetSize(image)?IPL_DEPTH_8U?1?);
mean_var?candidates[50];
int?can=0;
can?=?clustering(image_gray?image_cluster?candidates);
cvNamedWindow(?“viewer_2“?1);
cvShowImage(?“viewer_2“?image_cluster);??????//?show?image
cvWaitKey(0);
CvRect?region;
for(int?i=0;?i<5;?i++){
//Apply?the?color?threshold?for?each?specific?color
//region?=?cvRect(?candidates[i].x_mean-(candidates[i].x_mean/2)?candidates[i].y_mean-(candidates[i].y_mean/2)?candidates[i].x_mean?candidates[i].y_mean?);
if(?(candidates[i].x_mean-75)>0?&&?(candidates[i].y_mean-75)>0){region=?cvRect(?candidates[i].x_mean-75?candidates[i].y_mean-75?180?180?);}
else{
if((candidates[i].y_mean-75)<0?&&?(candidates[i].x_mean-75)<0){region=?cvRect(?0?0?180?180?);}
else{
if((candidates[i].y_mean-75)<0?&&?(candidates[i].y_mean-75)!=0)?{region=?cvRect(??candidates[i].x_mea
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-01-17?09:23??traffic_recognition-master\
?????文件?????????378??2017-01-17?09:23??traffic_recognition-master\.gitattributes
?????文件?????????649??2017-01-17?09:23??traffic_recognition-master\.gitignore
?????文件???????11981??2017-01-17?09:23??traffic_recognition-master\TrafficSignRecognition.cpp
?????文件????????1206??2017-01-17?09:23??traffic_recognition-master\TrafficSignRecognition.h
- 上一篇:studio one4應(yīng)用程序
- 下一篇:滴滴出行空白模板
評論
共有 條評論