opencv+人臉檢測(OpenCv3.0+VS2013)
進入正題吧----------------->最近一直在弄人臉檢測的程式碼,用的就是opencv3.0自己帶的人臉檢測的程式碼,可是一直就是出錯,在網上搜了好多,一直沒有找到解決的辦法,可能是自己的VS2013有問題吧!
主要程式碼如下:
#include "opencv2/core/core.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; std::vector<Rect> faces; string face_cascade_name = "haarcascade_frontalface_alt2.xml"; //該檔案存在於OpenCV安裝目錄下的\sources\data\haarcascades內,需要將該xml檔案複製到當前工程目錄下 CascadeClassifier face_cascade; void detectAndDisplay(Mat frame); int main(int argc, char** argv){ Mat image; image = imread("lyf.jpg", 1); //當前工程的image目錄下的lyf.jpg檔案,注意目錄符號 if (image.empty()){ printf("no find image!"); } if (!face_cascade.load(face_cascade_name)){ printf("級聯分類器錯誤,可能未找到檔案,拷貝該檔案到工程目錄下!\n"); return -1; } detectAndDisplay(image); //呼叫人臉檢測函式 waitKey(0); //暫停顯示一下。 } void detectAndDisplay(Mat face){ Mat face_gray; cvtColor(face, face_gray, CV_BGR2GRAY); //rgb型別轉換為灰度型別 equalizeHist(face_gray, face_gray); //直方圖均衡化 face_cascade.detectMultiScale(face_gray, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30)); for (int i = 0; i <38; i++){ Point center(int(faces[i].x + faces[i].width*0.5), int(faces[i].y + faces[i].height*0.5)); ellipse(face, center, Size(int(faces[i].width*0.5), int(faces[i].height*0.5)), 0, 0, 360, Scalar(255, 0, 0), 4, 8, 0); } imshow("人臉識別", face); }
主要有如下兩個問題:
1. detectMultiScale()函式調用出錯,後來再網上搜了好久,解決方案是把“std::vector<Rect> faces;”,定義為全域性變數,我照做了,這個問題暫時算解決了,一執行又出現了一個問題;
2. for (int i = 0; i <faces.size(); i++){
Point center(int(faces[i].x + faces[i].width*0.5), int(faces[i].y + faces[i].height*0.5));
ellipse(face, center, Size(int(faces[i].width*0.5), int(faces[i].height*0.5)), 0, 0, 360, Scalar(255, 0, 0), 4, 8, 0);
}
這個迴圈語句,每次執行到i=39時就報錯,程式就終止了,實在沒明白為什麼,弄了半天,也沒有解決。
後來用了以前的程式碼(以前執行是一直出錯,這次執行第一次出錯,第二次竟然沒有出錯)
執行結果如下:
相關推薦
opencv+人臉檢測(OpenCv3.0+VS2013)
進入正題吧----------------->最近一直在弄人臉檢測的程式碼,用的就是opencv3.0自己帶的人臉檢測的程式碼,可是一直就是出錯,在網上搜了好多,一直沒有找到解決的辦法,可能是自
呼叫opencv 人臉檢測實現問題解決~~(VS2013+Opencv)
前輩的文章詳細介紹了訓練xml分類器的過程,和人臉檢測相關的引數設定和程式碼,原文在這裡:傳送門 但是程式碼直接拿來用的話還是會出問題的, 這篇記錄的就是實現上述文章中呼叫xml的批量圖片人臉檢測遇到的問題和解決的辦法,有空的時候也會將自己訓練的詳細過程和
使用級聯分類器實現人臉檢測(OpenCV自帶的數據)
== output include print code ould har his ... 1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace
Dlib + vs2013 人臉檢測(一)
(一) 官網 http://dlib.net/compile.html 各個版本的dlib庫 https://sourceforge.net/projects/dclib/files/dlib/ dlib19.2及之後版本只可用於vs2015 配置dlib而建的工程需要提前配置好o
OpenCV3.0 + VS2013配置三:編譯和除錯OpenCV原始碼
在前文 OpenCV3.0 + VS2013 配置一:基本配置中提到 安裝包中沒有所需版本的dll情況下,需要利用cmake + VS構建和編譯OpenCV,而且這樣利用我們自己編譯得到的庫檔案還可以對OpenCV原始碼進行跟蹤除錯和修改,是OpenCV學習過程邁向“天師級”的基本要求
keras系列︱人臉表情分類與識別:opencv人臉檢測+Keras情緒分類(四)
人臉識別熱門,表情識別更加。但是表情識別很難,因為人臉的微表情很多,本節介紹一種比較粗線條的表情分類與識別的辦法。 Keras系列: 本次講述的表情分類是識別的分析流程分為:
利用opencv實現人臉檢測(C++版)
小編所有的帖子都是基於unbuntu系統的,當然稍作修改同樣試用於windows的,經過小編的絞盡腦汁,把剛剛發的那篇python 實現人臉和眼睛的檢測的程式用C++ 實現了,當然,也參考了不少大神的部落格,下面我們就一起來看看: Linux系統下安裝open
使用OpenCV進行人臉檢測(Viola-Jones人臉檢測方法)
擴充套件閱讀: 參考文獻:Paul Viola, Michael J. Jones. Robust Real-Time Face Detection[J]. International Journal of Computer Vision,2004,57(2):13
OpenCV實踐之路——人臉檢測(C++/Python)
本文由@星沉閣冰不語出品,轉載請註明作者和出處。之前一直覺得人臉檢測是非常麻煩的,即使是用opencv,麻煩到我都不敢去碰。這兩天仔細看了下,如果只是呼叫opencv自帶的分類器和函式的話,簡直是簡單。這不,正好最近也在學習Python,索性就用C++和Python兩種語言都
opencv人臉檢測程式碼應用與分析(PC端和Android端)
(1)OpenCV人臉檢測C++程式流程: OpenCV的人臉檢測程式採用了Viola & Jones人臉檢測方法,主要是呼叫訓練好的瀑布級聯分類器cascade來進行模式匹配。 cvHaarDetectObjects先將影象灰度化,根據傳入引數判斷是否進行can
(學習筆記二)——基於opencv人臉檢測原理及實現
最近搞了幾天的人臉檢測,終於把大體框架和原理搞清楚了,現在寫出來供大家學習之用,如有不對之處,還請大家指正。也希望大家在學習opencv的過程中能將學習過程及重點記錄下來,以部落格的形式分析,畢竟opencv的教材還不太多,我們自己學習大部分要靠網上的資料。通過部落格分享的
人臉檢測(dlib和opencv)
現在的人臉識別技術已經得到了非常廣泛的應用,支付領域、身份驗證、美顏相機裡都有它的應用。用iPhone的同學們應該對下面的功能比較熟悉iPhone的照片中有一個“人物”的功能,能夠將照片裡的人臉識別出來並分類,背後的原理也是人臉識別技術。這篇文章主要介紹怎樣用Python實現人臉檢測。人臉檢測是人臉識別的基礎
OpenCV人臉檢測(完整源代碼+思路)
exceptio pop ret 基礎 err 攝像 alt lena ann 本博文IDE為vs2013 OpenCV2.49 話不多說,先看視頻演示(20S演示): 例如以下: https://v.youku.com
opencv3.0 vs2013配置中的問題
read mas pre share ctu namespace window clas opencv3 問題: OpenCV Error: Assertion failed (size.width>0 && size.height>0) in
OpenCV——邊緣檢測(sobel算子、Laplacian算子、scharr濾波器)
scale 變換 得到 疊加 操作 fault sch laplacian 技術 1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using nam
0001-OpenCV3.0+VS2013+Windows7開發環境搭建
第01步 安裝VS2013 怎麼安裝,我這裡沒必要說吧,不清楚的請自行百度。 VS2013百度網盤下載連結如下: 連結:http://pan.baidu.com/s/1nvJpWAP 分享密碼請新增公眾號“qxsf321”後回覆"0001"獲取第02步 安裝OpenCV3.0 OpenCV3.0百度
OpenCV3.0 + VS2013配置二:自動化配置
OpenCV 3.0+ VS2013開發環境基本配置已在前文“OpenCV3.0+VS2013配置一”中進行了介紹,有些時候我們可能需要重複配置相同的環境,相信大家都會採用一些自動化的手段,這裡總結一下我自己自動化配置的方法。 一、環境變數 新建OpenCV3.0_Environm
【蜂口 | AI人工智慧】人臉檢測(下)——龍鵬 深度學習與人臉影象應用連載(二)
我們接著上一節的分享,繼續分享人臉檢測的下半部分。這次的分享主要是深度學習相關的。我們會主要講述當前深度學習在人臉檢測這個領域的發展水平。主要從以下幾個方向進行分享: 首先,我們會講講當前主流的基於深度學習的一個人臉檢測的框架,包括兩個框架,一個是級聯CNN框架
java實現opencv人臉識別(二)
Java下使用opencv進行人臉檢測 工作需要,研究下人臉識別,發現opencv比較常用,儘管能檢測人臉,但識別率不高,多數是用來獲取攝像頭的視訊流的,提取裡面的視訊幀,實現人臉識別時通常會和其他框架搭配使用,比如face_recognition、SeetaFace En
【2018.12.24】python3.7+OpenCV 人臉識別(圖片+攝像頭)
一、識別影象中的人臉個數。註釋寫的很好(\(^o^)/恩) #!/practice/Study_Test python # -*- coding: utf-8 -*- # @Time : 2018/12/23 21:19 # @Author : yb.w # @File : ima