下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
OpenCV學習筆記3:找出人臉,同時比較兩張圖片中的人臉相似度分類:
OpenCV2012-11-1218:50
5394人閱讀
評論(4)
\o"收藏"收藏
\o"舉報"舉報
終于到了有實際應用的功能了,有2張圖片,里面各有一個人臉,我的目的是比較這兩個人臉的相似度,這里用到了facedetect的功能,還有圖像轉換,圖像剪切,以及直方圖的比較。具體流程是:
1。分別用facedetect功能將兩張圖片中的人臉檢測出來
2。將人臉部分的圖片剪切出來,存到兩張只有人臉的圖片里。
3。將這兩張人臉圖片轉換成單通道的圖像
4。使用直方圖比較這兩張單通道的人臉圖像,得出相似度。
這里對圖的要求還是比較高的,光線和姿勢不能有差別,臉的垂直或者左右角度偏差就會影響比較,但和兩張圖片的大小關系不大,本人覺得較適合于證件照的對比。下面是代碼,其中haarcascade_frontalface_alt.xml是opencv里facedetect例子用的樣本。比較的是srcImage和targetImage對應的文件.還有下面是IplImage和Mat混用,純當熟悉這兩個類了。[cpp]
\o"viewplain"viewplain\o"copy"copy
[cpp]
\o"viewplain"viewplain\o"copy"copy
[cpp]
\o"viewplain"viewplain\o"copy"copy#include
"opencv/cv.hpp"
#include
"opencv2/objdetect/objdetect.hpp"
#include
"opencv2/highgui/highgui.hpp"
#include
"opencv2/imgproc/imgproc.hpp"
#include
<iostream>
#include
<stdio.h>
using
namespace
std;
using
namespace
cv;
String
cascadeName
=
"D:\\OpenCV-2.4.2\\data\\haarcascades\\haarcascade_frontalface_alt.xml";
IplImage*
cutImage(IplImage*
src,
CvRect
rect)
{
cvSetImageROI(src,
rect);
IplImage*
dst
=
cvCreateImage(cvSize(rect.width,
rect.height),
src->depth,
src->nChannels);
cvCopy(src,dst,0);
cvResetImageROI(src);
return
dst;
}
IplImage*
detect(
Mat&
img,
CascadeClassifier&
cascade,
double
scale)
{
int
i
=
0;
double
t
=
0;
vector<Rect>
faces;
Mat
gray,
smallImg(
cvRound
(img.rows/scale),
cvRound(img.cols/scale),
CV_8UC1
);
cvtColor(
img,
gray,
CV_BGR2GRAY
);
resize(
gray,
smallImg,
smallImg.size(),
0,
0,
INTER_LINEAR
);
equalizeHist(
smallImg,
smallImg
);
t
=
(double)cvGetTickCount();
cascade.detectMultiScale(
smallImg,
faces,
1.3,
2,
CV_HAAR_SCALE_IMAGE,
Size(30,
30)
);
t
=
(double)cvGetTickCount()
-
t;
printf(
"detection
time
=
%g
ms\n",
t/((double)cvGetTickFrequency()*1000.)
);
for(
vector<Rect>::const_iterator
r
=
faces.begin();
r
!=
faces.end();
r++,
i++
)
{
//
cvSaveImage("d:\\face.jpg",
faceImage1,
0);
faceImage2
=
detect(targetImg,
cascade,
1);
if
(faceImage2
==
NULL)
{
return
-1;
}
//
cvSaveImage("d:\\face1.jpg",
faceImage2,
0);
imshow("image1",
Mat(faceImage1));
imshow("image2",
Mat(faceImage2))
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保理念下的現(xiàn)代家居設計風格
- 現(xiàn)代飲食文化與胃腸健康的平衡
- 生產環(huán)境下的操作規(guī)范與質量控制
- 現(xiàn)代企業(yè)網絡攻擊的防范與應對
- 現(xiàn)代企業(yè)決策分析與科學決策
- 2023三年級語文下冊 第八單元 口語交際:趣味故事會配套說課稿 新人教版
- Unit5 Humans and nature Lesson 1 A sea story 說課稿-2024-2025學年高中英語北師大版(2019)必修第二冊001
- 2024-2025學年新教材高中數(shù)學 第五章 三角函數(shù) 5.7 三角函數(shù)的應用(2)說課稿 新人教A版必修第一冊
- 2023八年級數(shù)學下冊 第18章 平行四邊形18.1 平行四邊形的性質第2課時 平行四邊形的性質定理3說課稿 (新版)華東師大版
- 2023二年級語文上冊 第二單元 2 樹之歌配套說課稿 新人教版
- (人衛(wèi)版第九版?zhèn)魅静W總論(一))課件
- 壓力性損傷護理質控細則及集束化管理措施
- 《批判性思維原理和方法》全套教學課件
- 產后康復-腹直肌分離
- 丙烯-危險化學品安全周知卡
- 粉條加工廠建設項目可行性研究報告
- 《配電網設施可靠性評價指標導則》
- 2024年國家電網招聘之通信類題庫附參考答案(考試直接用)
- CJJ 169-2012城鎮(zhèn)道路路面設計規(guī)范
- 食品企業(yè)日管控周排查月調度記錄及其報告格式參考
- 產品質量法解讀課件1
評論
0/150
提交評論