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

正文內(nèi)容

基于opencv的人臉識(shí)別系統(tǒng)(編輯修改稿)

2025-07-20 03:19 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 處理是將彩色圖像轉(zhuǎn)換為黑白圖像,使用更加簡(jiǎn)單、具體的方式將圖片信息詮釋出來(lái),但是,這樣做的弊端是會(huì)丟失圖像信息。因此,盡可能地在轉(zhuǎn)化的過(guò)程中,用簡(jiǎn)單的方式來(lái)顯示圖像的復(fù)雜信息。(3)高斯平滑處理技術(shù)圖像將通過(guò)高斯平滑技術(shù)進(jìn)行平滑處理,視頻圖像在采集過(guò)程中,由于各種環(huán)境因素的影響,圖像經(jīng)常出現(xiàn)不規(guī)則的噪聲,比如圖像在進(jìn)行傳輸,存儲(chǔ)都可能會(huì)產(chǎn)生數(shù)據(jù)丟失。從而將對(duì)圖像的質(zhì)量產(chǎn)生影響。圖像經(jīng)過(guò)平滑處理可以減少視覺(jué)噪聲,沒(méi)有明顯的低頻分量圖像的高頻部分更易于識(shí)別。通過(guò)實(shí)現(xiàn)卷積平滑。能夠提供更好的圖像卷積平滑后的水平投影,二值化。(4)對(duì)比度增強(qiáng)對(duì)比度增強(qiáng),就是對(duì)圖像的再一次處理,會(huì)將對(duì)比度進(jìn)一步拉開(kāi),通過(guò)改變選用的增強(qiáng)函數(shù)的解析表達(dá)式就可以得到不同的處理效果,它針對(duì)原始圖像的每一個(gè)像素直接對(duì)其灰度進(jìn)行處理的,其處理過(guò)程主要是通過(guò)增強(qiáng)函數(shù)對(duì)像素的灰度級(jí)進(jìn)行運(yùn)算并將運(yùn)算結(jié)果作為該像素的新灰度值來(lái)實(shí)現(xiàn)的[18]。(5)二值化原理:圖像二值化也叫圖像黑白化,彩色圖像黑白化處理通常有三種方法:最大值法、平均值法、加權(quán)平均值法。下面詳細(xì)介紹三種方法的原理:最大值法:最大值法是每個(gè)像素點(diǎn)的RGB值等于原像素點(diǎn)的RGB值中最大的一個(gè),即R=G=B=MAX(R,G,B),最大值發(fā)產(chǎn)生亮度很高的黑白圖像。平均值法:平均值法使每個(gè)像素點(diǎn)的RGB值等于原像素點(diǎn)的RGB值的平均值,即R=G=B=(R+G+B)/3 。加權(quán)平均法:加權(quán)平均法根據(jù)需要指定每個(gè)像素點(diǎn)RGB的權(quán)數(shù),并取其加權(quán)平均值,即R=G=B=(Wr*R+Wg*G+Wb*B)/3Wr、Wg、Wb表示RGB的權(quán)數(shù),均大于零,通過(guò)取不同的權(quán)數(shù)可實(shí)現(xiàn)不同的效果 [19]。(6)直方圖均衡直方圖均衡化的目的是使一輸入圖像轉(zhuǎn)換為在每一灰度級(jí)上都有相同的象素點(diǎn)數(shù),它的處理的中心思想是把原始圖像的灰度直方圖從比較集中的某個(gè)灰度區(qū)間變成在全部灰度范圍內(nèi)的均勻分布,它的研究思路是:通過(guò)直方圖變換式來(lái)進(jìn)行直方圖的均衡處理,直方圖變換式是但是直方圖均衡化存在著兩個(gè)缺點(diǎn):式()變換后圖像的灰度級(jí)減少,某些細(xì)節(jié)消失;某些圖像,如直方圖有高峰,經(jīng)處理后對(duì)比度不自然的過(guò)分增強(qiáng)。 人臉定位模塊對(duì)視頻圖像的人臉進(jìn)行檢測(cè),則通過(guò)將臉部特征進(jìn)行標(biāo)記,人臉定位通過(guò)對(duì)眼睛、鼻尖、嘴唇進(jìn)行標(biāo)記來(lái)進(jìn)行定位,因?yàn)檠劬κ怯袑?duì)稱(chēng)性,可以很容易的檢測(cè)出來(lái),鼻子和嘴唇在人臉的下方,也很容易的進(jìn)行標(biāo)記出來(lái)。 人臉檢測(cè)界面 特征提取模塊對(duì)圖片進(jìn)行特征的提取,根據(jù)以下的步驟進(jìn)行獲?。?1)先進(jìn)行標(biāo)記人眼,來(lái)獲取兩眼的距離。(2)通過(guò)一些算法來(lái)獲取眼睛的角度。(3)對(duì)眼睛、嘴巴和鼻子的標(biāo)記。(4)將各個(gè)特征提取出來(lái)后,通過(guò)一個(gè)矩形框來(lái)標(biāo)記。在對(duì)圖片的所有特征進(jìn)行標(biāo)記提取后,將標(biāo)記的數(shù)據(jù)及特征值進(jìn)過(guò)計(jì)算處理后存入本地?cái)?shù)據(jù)庫(kù)中。 識(shí)別模塊從CMOS采集的人臉圖片進(jìn)行處理后獲得的新圖片,將新圖片與前期訓(xùn)練出來(lái)的數(shù)據(jù)模型進(jìn)行比對(duì),以確定最相似的特征參數(shù),然后進(jìn)一步分析這個(gè)參數(shù)。如果得到的結(jié)果在我們預(yù)設(shè)的閥值中內(nèi),那么該人的信息已采集到數(shù)據(jù)庫(kù)中,然后從庫(kù)中提取出該人的個(gè)人信息并顯示在軟件界面上,如果沒(méi)有則進(jìn)行報(bào)警。 人臉識(shí)別界面 數(shù)據(jù)庫(kù)存儲(chǔ)模塊該系統(tǒng)主要采用的 SQLite數(shù)據(jù)庫(kù),基于OPENCV的人臉識(shí)別系統(tǒng)采用QT作為界面設(shè)計(jì)工具。而嵌入式支持的數(shù)據(jù)庫(kù)為SQLite數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)主要使用在嵌入式環(huán)境下,所以使用SQLite作為該系統(tǒng)的數(shù)據(jù)存儲(chǔ)單元。基于QT的數(shù)據(jù)庫(kù)分為以下幾個(gè)內(nèi)容:(1) 人員信息的錄入進(jìn)入系統(tǒng)后則要求新增加的人員進(jìn)行刷卡進(jìn)行信息的登記和采集。 數(shù)據(jù)庫(kù)人員信息采集界面(2) 人員信息的部門(mén)更改將采集的人員信息需要指定一個(gè)特定的部門(mén)來(lái)管理這個(gè)人員。 增加新的部門(mén)信息(3) 人員信息的更改管理人員可以登錄進(jìn)入系統(tǒng)后對(duì)庫(kù)內(nèi)存在的人員信息進(jìn)行更新。 更改人員信息(4) 管理人員可以查看當(dāng)前庫(kù)內(nèi)的人員信息管理者通過(guò)登錄系統(tǒng)后,可以查看庫(kù)內(nèi)人員的所有信息。 查看人員信息(1) 人臉距攝像頭距離80120公分,可適當(dāng)前后移動(dòng)調(diào)整位置(2) 頭發(fā)不遮眼眉;不戴墨鏡;不帶口罩;不做鬼臉;不閉眼。(3) 進(jìn)行人臉的采集時(shí),平視前方,并且輕微抬頭與低頭,稍微左右轉(zhuǎn)頭。錯(cuò)誤的采集方法: 人臉錯(cuò)誤的姿勢(shì)正確的采集方式: 人臉正確的姿勢(shì)19攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 5 系統(tǒng)的詳細(xì)設(shè)計(jì)5 系統(tǒng)的詳細(xì)設(shè)計(jì)本章主要對(duì)視頻圖像采集及處理這一模塊進(jìn)行詳細(xì)說(shuō)明,對(duì)其子模塊所用到的函數(shù)和實(shí)現(xiàn)方式進(jìn)行詳細(xì)描述。 系統(tǒng)的運(yùn)行流程圖 對(duì)圖片進(jìn)行光線補(bǔ)償、將圖片變成灰色、實(shí)現(xiàn)圖片對(duì)比度增強(qiáng),二值化變換等一系列預(yù)處理。 將處理好的人臉圖片進(jìn)行定位,標(biāo)出眼睛、鼻尖和嘴巴。對(duì)定位好的人臉 圖片進(jìn)行特征 提取操作。 識(shí)別出圖片上的人。 識(shí)別后報(bào)警。退出系統(tǒng)啟動(dòng)本系統(tǒng),進(jìn)入人臉識(shí)別系統(tǒng)界面。點(diǎn)擊管理進(jìn)入管理界面,點(diǎn)擊采集然后進(jìn)行人臉的采集,對(duì)圖片進(jìn)行訓(xùn)練,返回識(shí)別界面刷卡進(jìn)入系統(tǒng) 系統(tǒng)的運(yùn)行流程圖 圖像處理詳細(xì)設(shè)計(jì) 人臉識(shí)別詳細(xì)設(shè)計(jì)人臉識(shí)別的流程為,從攝像頭采集圖片后對(duì)圖片進(jìn)行灰度化處理。分配PCA存儲(chǔ)空間,再使用級(jí)聯(lián)分類(lèi)檢測(cè)器對(duì)圖片進(jìn)行特征提取訓(xùn)練。提取出采集的人臉圖片的特征。使用的主要函數(shù)為: 識(shí)別流程函數(shù)集函 數(shù)功 能learn()程序訓(xùn)練入口recognize()從攝像頭采集一幀圖片recFromFrame(IplImage *faceImage)將圖片進(jìn)行灰度化處理average(vectordouble personConfi)計(jì)算該圖片的平均值unloadTrainingdata()釋放內(nèi)存空間storeEigenfaceImages()保存為矢量圖doPCA()分配PCA空間storeTrainingData()儲(chǔ)存圖片數(shù)據(jù)loadTrainingData(CvMat ** pTrainPersonNumMat)下載圖片數(shù)據(jù)findNearestNeighbor(float * projectedTestFace)找出臨近的相似度loadFaceImgArray(const char * filename)下載位圖數(shù)據(jù)(1)得到一個(gè)32位的浮動(dòng)圖像IplImage* convertFloatImageToUcharImage(const IplImage *srcImg) { IplImage *dstImg = 0。 if ((srcImg) amp。amp。 (srcImgwidth 0 amp。amp。 srcImgheight 0)) { double minVal, maxVal。 cvMinMaxLoc(srcImg, amp。minVal, amp。maxVal)。 if (cvIsNaN(minVal) || minVal 1e30) minVal = 1e30。 if (cvIsNaN(maxVal) || maxVal 1e30) maxVal = 1e30。 if (maxValminVal == ) maxVal = minVal + 。 dstImg = cvCreateImage(cvSize(srcImgwidth, srcImgheight), 8, 1)。 cvConvertScale(srcImg, dstImg, / (maxVal minVal), minVal * / (maxValminVal))。 } return dstImg。 } (2) 保存源圖片的所有特征向量void FaceRec::storeEigenfaceImages(){ if (nEigens 0) { int COLUMNS = 8。 // Put upto 8 images on a row. int nCols = min(nEigens, COLUMNS)。 int nRows= 1 + (nEigens / COLUMNS)。// Put the rest on new rows. int w = eigenVectArr[0]width。 int h = eigenVectArr[0]height。 CvSize size。 size = cvSize(nCols * w, nRows * h)。 IplImage *bigImg = cvCreateImage(size, IPL_DEPTH_8U, 1)。 for (int i=0。 inEigens。 i++) { IplImage*byteImg= convertFloatImageToUcharImage(eigenVectArr[i])。 int x = w * (i % COLUMNS)。 int y = h * (i / COLUMNS)。 CvRect ROI = cvRect(x, y, w, h)。 cvSetImageROI(bigImg, ROI)。 cvCopyImage(byteImg, bigImg)。 cvResetImageROI(bigImg)。 cvReleaseImage(amp。byteImg)。 } cvSaveImage(, bigImg)。 cvReleaseImage(amp。bigImg)。 }}(3) 下載需要訓(xùn)練的數(shù)據(jù),并將訓(xùn)練好的數(shù)據(jù)保存到xml文件中 void FaceRec::learn(){ int i, offset。 char *szFileTrain。 szFileTrain = 。 //訓(xùn)練數(shù)據(jù)的路徑 nTrainFaces = loadFaceImgArray(szFileTrain)。 fprintf(stderr,Got %d training images.\n, nTrainFaces)。 if( nTrainFaces 2 ) { fprintf(stderr, Need 2 or more training faces\n Input file contains only %d\n, nTrainFaces)。 return。 } doPCA()。 //為人臉訓(xùn)練分配PCA空間 projectedTrainFaceMat = cvCreatempat( nTrainFaces, nEigens, CV_32FC1 )。 offset = projectedTrainFaceMatstep / sizeof(float)。 for(i=0。 inTrainFaces。 i++) { //int offset = i * nEigens。 cvEigenDeposite( faceImgArr[i], nEigens, eigenVectArr, 0, 0, pAvgTrainImg, projectedTrainFaceMat + i*offset)。 } storeTrainingData()。 //將訓(xùn)練好的數(shù)據(jù)保存到xml文件中 if (SAVE_EIGENFACE_IMAGES) { storeEigenfaceImages()。 //保存這些訓(xùn)練圖片為一張位圖 }}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1