#include "cv.h"
#include "highgui.h"
#include
#include
#include
#include
#include //與一樣是定義邊界值的,定義的是浮點數的邊界值
#include
#include
#include //在呼叫字元函式時,在原始檔中包含的標頭檔案
using namespace
std;
static int aa=0;//為了儲存檢測到的人臉
static cvmemstorage *storage = 0;
static cvhaarclassifiercascade *cascade = 0;//harr 分類器級聯的內部標識形式
void detect_and_draw( iplimage *image);
const char *cascade_name = "haarcascade_frontalface_alt2.xml";
int main()
storage = cvcreatememstorage(0);//建立記憶體塊
capture = cvcapturefromcam(0);//獲取攝像頭
cvnamedwindow( "人臉檢測");//建立格式化視窗
if (capture)
frame = cvretrieveframe( capture ); //獲得由cvgrabframe函式抓取的
if (!frame)
if (!frame_copy)
//影象原點或者是左上角 (img->origin=ipl_origin_tl)或者是左下角(img->origin=ipl_origin_bl)
if (frame->origin == ipl_origin_tl)
else
detect_and_draw( frame_copy ); // 檢測並且標識人臉
if(cvwaitkey (10) >= 0)
break; }
//釋放指標
cvreleaseimage( &frame_copy );
cvreleasecapture( &capture); }
cvdestroywindow("人臉識別");
return 0; }
void detect_and_draw(iplimage *img) //檢測和畫出人臉的函式體 },
}, },
}, },
}, },
} };
double scale = 1.5;
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);
int i;
cvcvtcolor(img, gray, cv_bgr2gray);//把輸入的彩色影象轉化為灰度影象
cvresize(gray, small_img,cv_inter_linear);//縮小灰色
cvequalizehist(small_img, small_img);//灰度圖象直方圖均衡化
cvclearmemstorage(storage);//釋放記憶體塊
if (cascade)
} cvshowimage("人臉檢測",img);
cvreleaseimage(&gray);
cvreleaseimage(&small_img); }
使用opencv進行人臉識別
最近由於大作業需要,使用了opencv進行人臉識別。一般來說,識別分為兩部,即人臉檢測 人臉識別,opencv提供了乙個人臉檢測的sample,有乙個比較成熟的訓練人臉正面訓練檔案,這是我所知的乙個很成熟的人臉識別工具,而且已用於一些前沿3d愛情動作遊戲中,這裡主要是對其提供的sample作了一定的...
使用opencv進行人臉識別
最近由於大作業需要,使用了opencv進行人臉識別。一般來說,識別分為兩部,即人臉檢測 人臉識別,opencv提供了乙個人臉檢測的sample,有乙個比較成熟的訓練人臉正面訓練檔案,這是我所知的乙個很成熟的人臉識別工具,而且已用於一些前沿3d愛情動作遊戲中,這裡主要是對其提供的sample作了一定的...
使用opencv進行人臉識別
標籤 opencv 人臉識別 python emmm,其實流程很簡單,首先通過cv讀入乙個,然後灰度化了。其次我們載入上面說的那個模型,最後我們進行識別,識別的結果會是乙個矩陣,我們就把這個矩陣畫到上就ok了。import cv2 as cv 傳入乙個img,結果是在人臉上面畫乙個矩形框 deffa...