當前位置:首頁 » 安卓系統 » android人臉識別opencv

android人臉識別opencv

發布時間: 2022-08-01 17:39:48

Ⅰ 安卓+opencv能做什麼

很多呀,像什麼二維碼識別,手機相機自動全景圖拼接,自動圖像內容搜索(隨便拍攝一個物品,可以在網上找他的價格什麼的),人臉自動美化,去污點等等。

c語言寫人臉識別需要用到opencv嗎

我去年就用opencv開發的android手機端的關於人臉識別的增強現實應用。我可以很明確的告訴你,java的opencv頂多調用攝像頭用,圖像處理都用c++的opencv。對於opencv的開發,不管從開發效率還是執行效率,絕對是c++。java版的opencv想都不要想。

Ⅲ OpenCV人臉識別的效率問題。

效率和識別率成反比,機器的性能也有關
如果是手機,可以試試加上臉部在圖像中的比例來加速

Ⅳ android opencv 人臉識別怎麼做

關於Android開發人臉識別,市面上有不少的sdk,不過都不是免費的,離線的更是少。市面上的商用的一般都賣錢了,定製的話很貴,虹軟有離線的,還免費,識別還是挺不錯的。開源的有opencv,不過識別的不是很好,sdk下載地址。

Ⅳ 如何在Android studio中成功運行opencv人臉識別的例子

1.介紹Introction
從OpenCV2.4開始,加入了新的類FaceRecognizer,我們可以使用它便捷地進行人臉識別實驗。本文既介紹代碼使用,又介紹演算法原理。(他寫的源代碼,我們可以在OpenCV的opencv\moles\contrib\doc\facerec\src下找到,當然也可以在他的github中找到,如果你想研究源碼,自然可以去看看,不復雜)

目前支持的演算法有

Eigenfaces特徵臉createEigenFaceRecognizer()

Fisherfaces createFisherFaceRecognizer()

LocalBinary Patterns Histograms局部二值直方圖 createLBPHFaceRecognizer()

下面所有的例子中的代碼在OpenCV安裝目錄下的samples/cpp下面都能找到,所有的代碼商用或者學習都是免費的。

1.2.人臉識別Face
Recognition

對人類來說,人臉識別很容易。文獻[Tu06]告訴我們,僅僅是才三天的嬰兒已經可以區分周圍熟悉的人臉了。那麼對於計算機來說,到底有多難?其實,迄今為止,我們對於人類自己為何可以區分不同的人所知甚少。是人臉內部特徵(眼睛、鼻子、嘴巴)還是外部特徵(頭型、發際線)對於人類識別更有效?我們怎麼分析一張圖像,大腦是如何對它編碼的?David Hubel和TorstenWiesel向我們展示,我們的大腦針對不同的場景,如線、邊、角或者運動這些局部特徵有專門的神經細胞作出反應。顯然我們沒有把世界看成零散的塊塊,我們的視覺皮層必須以某種方式把不同的信息來源轉化成有用的模式。自動人臉識別就是如何從一幅圖像中提取有意義的特徵,把它們放入一種有用的表示方式,然後對他們進行一些分類。基於幾何特徵的人臉的人臉識別可能是最直觀的方法來識別人臉。第一個自動人臉識別系統在[Kanade73]中又描述:標記點(眼睛、耳朵、鼻子等的位置)用來構造一個特徵向量(點與點之間的距離、角度等)。通過計算測試和訓練圖像的特徵向量的歐氏距離來進行識別。這樣的方法對於光照變化很穩健,但也有巨大的缺點:標記點的確定是很復雜的,即使是使用最先進的演算法。一些幾何特徵人臉識別近期工作在文獻[Bru92]中有描述。一個22維的特徵向量被用在一個大資料庫上,單靠幾何特徵不能提供足夠的信息用於人臉識別。

Ⅵ 怎樣解決opencv4android豎屏無法檢測人臉

你的這個測試程序應該不是針對opencv3.0開發的,應該是比opencv2.4.4還早的版本。opencv2.4.4開始,用戶用戶UI操作的highgui組件只有highgui.hpp和highgui_c.h兩個頭文件。我沒研究過opencv3.0,但是估計應該不會再往過去的方式改了。依據你的報

Ⅶ 求java+opencv的人臉識別系統源碼,要編寫android版的人臉識別系統,求源碼一枚

我不會java。我常用的是c/c++和matlab語言,平台是vs和opencv,這問題還真幫不了你。

Ⅷ 需要開發一款有有人臉識別功能的安卓軟體,在哪裡可以下載可以集成的人臉識別SDK

如果只是實現功能,你可以使用Android系統內置的人臉識別API:FaceDetector,但是這個API也只是能識別出人臉來,更多的功能就不太好實現了,如身份識別什麼的。(網上資料一大堆,搜索關鍵字:Android FaceDetector即可)(此外,網上也有一些第三方公司開發的人臉識別SDK,不過我就不推薦了,畢竟方法、效率、安全性都不太可控。)

如果你有更高的要求,想要做身份識別這種有點高難度的工作,甚至要進行一點人工智慧應用,我更推薦的是使用開源的技術自己來實現這個功能,比如使用OpenCV的Android版本來實現人臉識別相關工作。OpenCV是圖像處理領域里裡面非常重要的開源庫之一,這個開源庫也開發了Android版本,准確性和效率都可以保證。(但是必須要注意的是,使用OpenCV開發相關應用,對JNI技術有一定的要求,畢竟使用C/C++開發出的產品效率要比JAVA開發出的效率要高上很多)

下載地址和參考資料:網頁鏈接

中文資料在網上搜索即可,非常豐富,推薦關鍵字:OpenCV Androidface detection

另外OpenCV做人臉識別的教程和示例代碼等也是非常的多,這也可以很大程度的加快你的開發進度。

總而言之,以下是我的推薦:

1、簡單實現的話,使用FaceDetector。

2、有較高要求的話,使用OpenCV。

Ⅸ opencv實現一個人臉檢測功能,編譯出的android程序有多大

python下用起來OpenCV很爽,代碼很簡潔,很清晰易懂。使用的是Haar特徵的分類器,訓練之後得到的數據存在一個xml中。下面我們就來詳細談談。 模式識別課上老師留了個實驗,在VC++環境下利用OpenCV庫編程實現人臉檢測與跟蹤。 然後就開始下載opencv和vs2012,再然後,配置了好幾次還是配置不成功,這里不得不吐槽下微軟,軟體做這么大,這么難用真的好嗎? 於是就嘗試了一下使用python完成實驗任務,大概過程就是這樣子的: 首先,配置運行環境: 下載opencv和python的比較新的版本,推薦opencv2.4.X和python2.7.X。 直接去官網下載就ok了,python安裝時一路next就行,下載的opencv.exe文件運行後基本上是一個解壓的過程,自己選擇一個解壓路徑(盡量不要出現中文),然後就坐等解壓完成。 然後從opencv解壓後的路徑中找(D:My DocumentsDownloads)opencvbuildpython2.7x86,()裡面的部分是你自己的安裝路徑,其中x86對應32位的機器,x64代表64位的機器,當然要按照你機器的實際情況選擇了。將這個路徑裡面的cv2.pyd拷貝至python2.7的模塊路徑C:Python27Libsite-packages里,python2.7默認安裝在C盤跟目錄下。 此時打開python,在cmd下輸入python,或者直接打開“所有程序->active state active python->Python Interactive Shell”都行。 接下來輸入import cv2,出錯了對不對?為什麼呢? 這是因為沒有安裝numpy這個python模塊,去numpy的官網下載一個比較新的版本,因為最新的版本一般都是源代碼,需要去命令行中安裝,比較麻煩,推薦找一個exe文件。注意,在官網給出的鏈接中,切記看完全名稱,後面一般都會提示這個模塊在哪個python版本下安裝時比較和諧,選擇你自己安裝的python版本對應的numpy模塊。下載完成後安裝時看一下該模塊給出的python路徑對不對,對的話然後next就行了,不對的話可能就是你的python是2.7,卻下了numpy for python 3.0. 這時再去import一下cv2,如果什麼也沒有輸出的話就是import成功了。 簡直比vs下的配置簡單了好幾個數量級,對不對? 配置好環境後,跟著opencv嗨起來! 然後在pythonwin或idle(python gui)下新建一個py文件,輸入以下代碼: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 import cv2 import numpy as np cv2.namedWindow("test") cap=cv2.VideoCapture(0) success,frame=cap.read() classifier=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml") #確保此xml文件與該py文件在一個文件夾下,否則將這里改為絕對路徑,此xml文件可在D:My 下找到。 while success: success,frame=cap.read() size=frame.shape[:2] image=np.zeros(size,dtype=np.float16) image=cv2.cvtColor(frame,cv2.cv.CV_BGR2GRAY) cv2.equalizeHist(image,image) divisor=8 h,w=size minSize=(w/divisor,h/divisor) faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize) if len(faceRects)>0: for faceRect in faceRects: x,y,w,h=faceRect cv2.circle(frame,(x+w/2,y+h/2),min(w/2,h/2),(255,0,0)) cv2.circle(frame,(x+w/4,y+h/4),min(w/8,h/8),(255,0,0)) cv2.circle(frame,(x+3*w/4,y+h/4),min(w/8,h/8),(255,0,0)) cv2.rectangle(frame,(x+3*w/8,y+3*h/4),(x+5*w/8,y+7*h/8),(255,0,0)) cv2.imshow("test",frame) key=cv2.waitKey(10) c=chr(key&255) if c in ['q','Q',chr(27)]: break cv2.destroyWindow("test") 為什麼沒有注釋,你恐怕知道下雨天,dir()和help()更配呦。 這段代碼的功能就是對計算機攝像頭拍到的視頻加以處理,使其顯示並追蹤人臉。下圖是運行效果: 最後再說一句,這個過程說起來簡單,但很容易出錯,希望大家能自己找到錯誤的原因,並解決錯誤。如果自己解決不了的話,不妨把問題貼在里,大家來共同解決,共同進步。 以上所述就是本文的全部內容了,希望大家能夠喜歡。

熱點內容
socket編程php 發布:2024-05-03 20:12:50 瀏覽:207
坦洲郵政局可以解壓嗎 發布:2024-05-03 20:09:55 瀏覽:732
二級程序編譯答案 發布:2024-05-03 18:41:35 瀏覽:654
領動自動精英版是哪個配置 發布:2024-05-03 18:37:30 瀏覽:151
java編譯器中cd什麼意思 發布:2024-05-03 18:36:00 瀏覽:390
傳奇伺服器如何刷錢 發布:2024-05-03 18:36:00 瀏覽:978
安卓版twitter怎麼注冊 發布:2024-05-03 18:28:05 瀏覽:894
Python邏輯優先順序 發布:2024-05-03 18:26:14 瀏覽:268
linux查看svn密碼 發布:2024-05-03 18:12:47 瀏覽:805
地鐵逃生怎麼進入游戲安卓 發布:2024-05-03 17:49:35 瀏覽:993