freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于qt的車牌識別系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文-資料下載頁

2025-08-19 18:25本頁面

【導讀】成為現(xiàn)代交通工程領(lǐng)域中研究的重點和熱點之一。車牌識別技術(shù)綜合了圖形處理、計算機視覺、模。進行自動監(jiān)控,從而給交通系統(tǒng)的自動化管理提供便捷。跨平臺視覺庫的發(fā)展狀況,并對如何在Win7下配置OpenCV的Qt開發(fā)環(huán)境做出了介紹。圖像定位;字符分割;字符識別;為世界各國面臨的共同難題,每個國家都毫無例外地承受著不斷加劇的交通問題的困擾。保障交通安全、改善環(huán)境質(zhì)量和提高能源利用率。是實現(xiàn)交通管理智能化的重要環(huán)節(jié)。車牌識別系統(tǒng)可以廣泛應用于。電子收費、出入控制、公路流量監(jiān)控、失竊車輛查詢和停車場車輛管理等需要車牌認證的場合;不可替代的作用。準GA36-2020規(guī)定,機動車前面牌照的長度是44cm,寬度是14cm,共有7個字符,車牌上的字符。寬度,這就導致車牌上部分字符之間的距離大于12mm。其中,民用汽車牌照上有省、直轄市、自。治區(qū)的簡稱和發(fā)證照及監(jiān)督機關(guān)的代號,代號是英文大寫字母。當編號超過10萬時,就由A、B、C等英文字母代替。

  

【正文】 ROI(m_ImgROIBinary,ROI_rect1)。 cvCopy(m_ImgROIBinary,m_pImgCharFour,NULL)。 //獲取第 4 個字符 cvResetImageROI(m_ImgROIBinary)。 } =*(letter[9]+letter[8])10。 =0。 =20。 =40。 { 18 cvSetImageROI(m_ImgROIBinary,ROI_rect1)。 cvCopy(m_ImgROIBinary,m_pImgCharFive,NULL)。 //獲取第 5 個字符 cvResetImageROI(m_ImgROIBinary)。 } =*(letter[11]+letter[10])10。 =0。 =20。 =40。 { cvSetImageROI(m_ImgROIBinary,ROI_rect1)。 cvCopy(m_ImgROIBinary,m_pImgCharSix,NULL)。 //獲取第 6 個字符 cvResetImageROI(m_ImgROIBinary)。 } =*(letter[13]+letter[12])10。 =0。 =20。 =40。 { cvSetImageROI(m_ImgROIBinary,ROI_rect1)。 cvCopy(m_ImgROIBinary,m_pImgCharSeven,NULL)。 //獲取第 7 個字符 cvResetImageROI(m_ImgROIBinary)。 } cvReleaseImage(amp。m_ImgROIBinary)。 // 釋放內(nèi)存 delete []num_h。 num_h=NULL。 } bool YPlateRec::startPlateRec(IplImage *img) { m_pImgCanny=cvCreateImage(cvSize(imgwidth,imgheight),IPL_DEPTH_8U,1)。 // 2 值化后圖片大小初始化 if(m_pImgCanny) { cvCvtColor(img,m_pImgCanny,CV_RGB2GRAY)。 //轉(zhuǎn)化為灰度圖 openCV函數(shù) Y = *R + *G + *B cvSmooth(m_pImgCanny,m_pImgCanny,CV_GAUSSIAN,3,0,0)。 //平滑高斯濾 波 濾波后的圖片保存在 pImgCanny Threshold(m_pImgCanny,m_pImgCanny)。 m_pImgThrehold = cvCreateImage(cvGetSize(m_pImgCanny),IPL_DEPTH_8U,1)。 cvCopy(m_pImgCanny,m_pImgThrehold)。 if(PlateAreaSearch(m_pImgCanny)==0) 19 { return false。 // 車牌定位 } SegmentPlate()。 } if(!m_pImgCharOne || !m_pImgCharTwo || !m_pImgCharThree || !m_pImgCharFour || !m_pImgCharFive || !m_pImgCharSix || !m_pImgCharSeven) { return false。 } return true。 } QString YPlateRec::CodeRecognize(IplImage *imgTest, int num) { QString x。 (*)。 if(imgTest==NULL) { return x。 } ()。 CvMat* currentVector = cvCreateMat(1, 800, CV_32FC1)。 CvMat* currentLabel = cvCreateMat(1, 1, CV_32FC1)。 int n,m。 for(n=0。n40。n++) { for(m=0。m20。m++) { currentVector[20*n+m] = CV_IMAGE_ELEM(imgTest,uchar,n,m)。 } } switch(num) { case 1: //漢字 { (currentVector,5,currentLabel)。 int offset = currentLabel[0]。 (m_chinese[offset])。 cvReleaseMat(amp。currentVector)。 cvReleaseMat(amp。currentLabel)。 break。 20 } case 2: //數(shù)字或字母 { (currentVector,5,currentLabel)。 int offset = currentLabel[0]。 (m_Others[offset])。 cvReleaseMat(amp。currentVector)。 cvReleaseMat(amp。currentLabel)。 break。 } default: break。 } return x。 } void YPlateRec::OnFileRec(const QString fileName) { if(m_isOk) { cvReleaseImage(amp。m_rectangleimg)。 cvReleaseImage(amp。m_pImgThrehold)。//二值化圖片 cvReleaseImage(amp。m_pImgCharOne)。 cvReleaseImage(amp。m_pImgCharTwo)。 cvReleaseImage(amp。m_pImgCharThree)。 cvReleaseImage(amp。m_pImgCharFour)。 cvReleaseImage(amp。m_pImgCharFive)。 cvReleaseImage(amp。m_pImgCharSix)。 cvReleaseImage(amp。m_pImgCharSeven)。 } m_isOk = false。 m_src = cvLoadImage(().constData(),1)。 if(m_src!=NULL) { double tt = (double)cvGetTickCount()。//計時 if(!startPlateRec(m_src)) { m_isOk = false。 return 。 } tt = (double)cvGetTickCount() tt。 qDebug()QString(%1 ms).arg(tt/(cvGetTickFrequency()*1000.))endl。 21
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1