亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JNI技術(shù)在基于OpenCV的人臉與微笑檢測(cè)中的應(yīng)用

        2017-03-06 00:19:10王嘉鑫鄒科文陳義明
        軟件導(dǎo)刊 2017年1期

        王嘉鑫+鄒科文+陳義明

        摘要摘要:人臉識(shí)別技術(shù)是當(dāng)前人工智能中較為熱門的一個(gè)分支,已經(jīng)有許多開源的視覺(jué)庫(kù)為其奠定了良好基礎(chǔ),如OpenCV等,然而OpenCV在Java環(huán)境下有諸多不便。為了解決這一問(wèn)題,介紹了JNI技術(shù),以及在Java環(huán)境下,如何通過(guò)JNI調(diào)用OpenCV庫(kù)實(shí)現(xiàn)人臉與微笑檢測(cè)。實(shí)驗(yàn)結(jié)果表明,將JNI應(yīng)用于Java虛擬機(jī)的人臉檢測(cè),可獲得更高的人臉檢測(cè)速度。

        關(guān)鍵詞關(guān)鍵詞:OpenCV;人臉檢測(cè);微笑檢測(cè);JNI

        DOIDOI:10.11907/rjdk.162330

        中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2017)001011502

        隨著人工智能技術(shù)的發(fā)展,機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺(jué)等領(lǐng)域也逐漸成為計(jì)算機(jī)科學(xué)中的熱點(diǎn)問(wèn)題,人臉檢測(cè)便是計(jì)算機(jī)視覺(jué)中的一個(gè)分支。OpenCV作為一個(gè)開源的視覺(jué)庫(kù),提供了不少關(guān)于人臉檢測(cè)的模型與處理接口,而大部分接口與算法均采用C/C++語(yǔ)言編寫。Java雖有其跨平臺(tái)的巨大優(yōu)勢(shì),但是這種特性也給Java帶來(lái)了局限性,在調(diào)用動(dòng)態(tài)數(shù)據(jù)庫(kù)文件時(shí)存在不便。因此,通過(guò)JNI工具,可以利用C/C++語(yǔ)言的特性彌補(bǔ)Java的不足[13]。

        1相關(guān)技術(shù)原理

        1.1JNI技術(shù)分析

        JNI(Java Native Interface)提供了若干API 實(shí)現(xiàn)Java與其它語(yǔ)言的通信(主要是C/C++)。從Java 1.1開始,JNI標(biāo)準(zhǔn)成為Java平臺(tái)的一部分,它允許Java和其它語(yǔ)言編寫的代碼進(jìn)行交互。然而使用Java與本地已編譯的代碼交互,通常會(huì)喪失平臺(tái)可移植性[45]。

        通常遇到以下幾種情況需要使用JNI:①所開發(fā)的程序需要用到其它平臺(tái)屬性,但在Java的標(biāo)準(zhǔn)庫(kù)中不支持此屬性;②程序?qū)τ谶\(yùn)行效率要求較高,因此希望能用較低級(jí)的語(yǔ)言(如C/C++)來(lái)實(shí)現(xiàn);③Java已經(jīng)擁有實(shí)現(xiàn)需要的程序和庫(kù),希望C/C++對(duì)其直接進(jìn)行調(diào)用[67]。

        1.2JNI技術(shù)架構(gòu)

        JNI允許運(yùn)行在Java虛擬機(jī)上的應(yīng)用程序調(diào)用其它語(yǔ)言(如C/C++語(yǔ)言)來(lái)編寫需要的方法或類庫(kù),也能將Java虛擬機(jī)嵌入到本地應(yīng)用程序中。

        圖1是JNI在本地應(yīng)用程序與Java應(yīng)用之間各自扮演的角色圖。從圖中可以看出,JNI作為Java與C/C++函數(shù)庫(kù)之間的橋梁,可以實(shí)現(xiàn)Java代碼與C/C++庫(kù)函數(shù)當(dāng)中本地代碼之間的交互。然而JNI沒(méi)有改變Java語(yǔ)言的屬性,只是讓Java語(yǔ)言擁有一種能夠?qū)ν庹{(diào)用的形式[89]。

        1.3OpenCV介紹

        OpenCV(Open Source Computer Vision Library)是一個(gè)基于BSD許可發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù)。它輕量而且高效,由C函數(shù)與C++類構(gòu)成,同時(shí)提供了Python、Java等語(yǔ)言的接口,可實(shí)現(xiàn)圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。OpenCV中對(duì)于人臉的檢測(cè)方法是基于處理成的灰度圖像的弱特征檢測(cè)方法。該方法建立在Haar特征[10]檢測(cè)方法基礎(chǔ)上,可以獲得檢測(cè)人臉的實(shí)時(shí)處理速度。

        OpenCV中也提供了訓(xùn)練分類器[1112]的程序及方法來(lái)檢測(cè)特征。使用者可以將此方法應(yīng)用于一些項(xiàng)目中的二次開發(fā),比如雙目視覺(jué)的三維重構(gòu)、物體識(shí)別,協(xié)助機(jī)器人完成復(fù)雜任務(wù),以及在智能監(jiān)控中的人臉檢測(cè)、智能交通中的行人檢測(cè)等。

        2開發(fā)工具選擇

        選用的工具是eclipse,Java版本為JDK1.7,C++使用的是VS2010。另外PC端需要具備內(nèi)置或外置攝像頭,PC機(jī)配置為Inter Core i5-3230M CPU 2.6GHz。

        3實(shí)現(xiàn)過(guò)程

        從圖2中編寫JNI代碼的大致步驟可以看出Java需要將字節(jié)碼文件通過(guò)javah生成頭文件,再與C代碼共同生成動(dòng)態(tài)鏈接庫(kù),進(jìn)而與Java中的代碼進(jìn)行交互。

        3.4人臉檢測(cè)實(shí)驗(yàn)結(jié)果

        實(shí)驗(yàn)結(jié)果如圖3以及表1所示,Java捕獲的圖像上會(huì)圈出特征檢測(cè)出的人臉,并在控制臺(tái)輸出人臉的X、Y坐標(biāo)以及微笑值。微笑值越高代表被檢測(cè)的人臉表情越開心。表2使用JNI檢測(cè)明顯比單獨(dú)從Java視頻流中獲取圖像檢測(cè)人臉?biāo)俣雀?。因此,將JNI應(yīng)用于Java虛擬機(jī)的人臉檢測(cè)中,可以幫助后臺(tái)進(jìn)行高效的圖片信息處理。

        第1期 侯賀,馬林,鄭偉:基于大數(shù)據(jù)的微課評(píng)價(jià)模型研究軟 件 導(dǎo) 刊2017年標(biāo)題

        国产一区二区三区免费精品| 香蕉人人超人人超碰超国产| 久久精品国产亚洲av忘忧草18| 日韩啪啪精品一区二区亚洲av | 亚洲天堂线上免费av| 嗯啊好爽高潮了在线观看| 精品无码日韩一区二区三区不卡| 国产污污视频| 冲田杏梨av天堂一区二区三区| 富婆猛男一区二区三区| 老师露出两个奶球让我吃奶头| 亚洲欧洲美洲无码精品va| 无码a∨高潮抽搐流白浆| 亚洲国产精品久久久久婷婷老年 | 久久精品亚洲乱码伦伦中文| 国产精品主播在线一区二区| 和外国人做人爱视频| 亚洲最大成av人网站| 人妖系列在线免费观看| 色欲一区二区三区精品a片 | 亚洲av日韩av不卡在线观看| 日韩欧美亚洲国产一区二区三区| 日韩中文字幕不卡在线| 东京道一本热中文字幕| 亚洲精品高清你懂的| 一本色道久久88综合亚洲精品| 亚洲午夜狼人综合影院| 欧美操逼视频| 国产成人香蕉久久久久| 最新69国产精品视频| 久久久久久久97| 日韩h网站| 日韩一区中文字幕在线| 国产成人亚洲综合| 少妇邻居内射在线| 一片内射视频在线观看| 青青草精品在线视频观看| 国产亚洲av综合人人澡精品 | 一区二区三区在线观看视频| 免费看美女被靠到爽的视频| 亚洲成a人片在线观看无码|