下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
人臉識別程序源代碼人臉識別程序源代碼人臉識別程序源代碼xxx公司人臉識別程序源代碼文件編號:文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度1.利用OpenCV進(jìn)行人臉檢測人臉檢測程序主要完成3部分功能,即加載分類器、加載待檢測圖象以及檢測并標(biāo)示。本程序使用OpenCV中提供的“”文件存儲的目標(biāo)檢測分類,用cvLoad函數(shù)載入后,進(jìn)行強(qiáng)制類型轉(zhuǎn)換。OpenCV中提供的用于檢測圖像中目標(biāo)的函數(shù)是cvHaarDetectObjects,該函數(shù)使用指針對某目標(biāo)物體(如人臉)訓(xùn)練的級聯(lián)分類器在圖象中找到包含目標(biāo)物體的矩形區(qū)域,并將這些區(qū)域作為一序列的矩形框返回。分類器在使用后需要被顯式釋放,所用的函數(shù)為cvReleaseHaarClassifierCascade。這些函數(shù)原型請參看有關(guān)OpenCV手冊。2.程序?qū)崿F(xiàn)1)新建一個VisualC++MFC項(xiàng)目,取名為“FaceDetection”,選擇應(yīng)用程序類型為“單文檔”。將菜單中多余的項(xiàng)去掉,并添加一項(xiàng)“人臉檢測”,其ID為“ID_FaceDetected”,并生成該菜單項(xiàng)的消息映射函數(shù)。2)在“”頭文件中添加以下灰底色部分程序代碼:pg)|*.jpg|(*.bmp)|*.bmp|",NULL);
//從文件對話窗口中打開圖像
if()!=IDOK)
return;
//獲得文件名
fileName=();
//必要的類型轉(zhuǎn)換
std::stringtempName=(LPCSTR)CStringA(fileName);
constchar*tmp=();
//打開文件,若失敗則返回
if((src=cvLoadImage(tmp,CV_LOAD_IMAGE_ANYCOLOR))==0)
return;
//加載(分類器層疊)訓(xùn)練庫
cascade=(CvHaarClassifierCascade*)cvLoad(cascade_name,0,0,0);
//加載不成功則顯示錯誤訊息,并退出
if(cascade)
{
storage=cvCreateMemStorage(0);
cvNamedWindow("人臉檢測",CV_WINDOW_AUTOSIZE);//創(chuàng)建窗口
//如果圖片存在則分析并顯示結(jié)果,否則退出程序
if(src)detect_and_draw(src);//調(diào)用人臉檢與標(biāo)示事件
cvReleaseImage(&src);
cvReleaseMemStorage(&storage);
}
else
{
&,nbsp;AfxMessageBox(L"無法加載分類器,請確認(rèn)后重試!");
}
cvReleaseHaarClassifierCascade(&cascade);
}
voidCFaceDetectionView::detect_and_draw(IplImage*img)//人臉檢與標(biāo)示事件
{
staticCvScalarcolor[]={0,0,255};//用于設(shè)置標(biāo)示圖像中人臉的顏色
doublescale=;
IplImage*gray=cvCreateImage(cvSize(img->width,img->height),8,1);
IplImage*small_img=cvCreateImage(cvSize(cvRound(img->width/scale),cvRound(img->height/scale)),8,1);
inti;
cvCvtColor(img,gray,CV_BGR2GRAY);
cvResize(gray,small_img,CV_INTER_LINEAR);
cvEqualizeHist(small_img,small_img);
cvClearMemStorage(storage);
if(cascade)
{//檢測人臉
CvSeq*faces=cvHaarDetectObjects(small_img,cascade,storage,,2,0,cvSize(30,30));
for(i=0;i<(facesfaces->total:0);i++)
{
CvRect*r=(CvRect*)cvGetSeqElem(faces,i);
CvPointcenter;
intradius;
=cvRound((r->x+r->width**scale);
=cvRound((r->y+r->height**scale);
radius=cvRound((r->width+r->height)**scale);
cvCircle(img,center,radius,color[0],3,8,0);
}
}
cvShowImage("人臉檢測",img);
cvReleaseImage(&gray);
cvReleaseImage(&small_img);
}需要注意的是,本程序運(yùn)行時應(yīng)將分類器文件置于程序目錄下,如果運(yùn)行的是生成的EXE文件,則應(yīng)將分類器文件與該EXE文件放在同一個目錄下。三、程序運(yùn)行結(jié)果運(yùn)行該程序,選擇人臉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《園藝植物育種學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 語文情景劇主持詞
- 石河子大學(xué)《農(nóng)村公共管理》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《國際貿(mào)易實(shí)務(wù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《體驗(yàn)型交互設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《模擬電子技術(shù)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《機(jī)械原理》2022-2023學(xué)年第一學(xué)期期末試卷
- 關(guān)于山林看護(hù)合同
- 國外采購合同
- 合同把關(guān)管理要求
- 壓路機(jī)合格證及檢驗(yàn)報(bào)告(共3頁)
- Maxsurf 的中文使用手冊(船舶設(shè)計(jì)建造軟件)
- 《園冶》全文
- 2號表-天津市基本醫(yī)療保險住院醫(yī)療費(fèi)申請支付審核單
- 留守兒童成長檔案(精編版)
- 單位對個人教育教學(xué)情況定性綜合分析
- 數(shù)字音效處理器 項(xiàng)目報(bào)告
- 外墻真石漆技術(shù)交底(完整版)
- 趕工措施施工方案(完整版)
- 隨機(jī)前沿分析完整版
- 超市值班經(jīng)理制度
評論
0/150
提交評論