Java OpenCV實(shí)現(xiàn)人臉識別過程詳解
準(zhǔn)備 :
下載openCV安裝包 : https://opencv.org/
安裝包安裝之后支持多種語言環(huán)境,此處使用Java,在Eclipse中引入 openCV目錄下的java/opencv-320.jar,同時配置openCV庫路徑。
Eclipse配置openCV
代碼實(shí)現(xiàn) :
package test; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfRect; import org.opencv.core.Point; import org.opencv.core.Rect; import org.opencv.core.Scalar; import org.opencv.objdetect.CascadeClassifier; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class Test { //引入訓(xùn)練好的人臉識別XML文件 static String PAHT = "E:/GOF/OpenCV/bin/test/haarcascade_frontalface_alt.xml"; static String IMAGE_PATH = "E:/GOF/OpenCV/src/test/a.jpg"; static String productPath = "E:/GOF/OpenCV"; public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); String Path = Test.class.getResource("haarcascade_frontalface_alt.xml").getPath(); System.out.println(Path); CascadeClassifier faceDetector = new CascadeClassifier(PAHT); Mat image = Imgcodecs.imread(IMAGE_PATH); MatOfRect faceDetections = new MatOfRect(); faceDetector.detectMultiScale(image, faceDetections); System.out.println(String.format("Detected %s faces", faceDetections.toArray().length)); for (Rect rect : faceDetections.toArray()) { Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0)); } String filename = "ouput.png"; System.out.println(String.format("Writing %s", filename)); boolean flag = Imgcodecs.imwrite(filename, image); } }
實(shí)現(xiàn)效果 :
對人臉區(qū)域?qū)懭脒吙?/p>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
深入了解Java中String、Char和Int之間的相互轉(zhuǎn)換
這篇文章主要介紹了深入了解Java中String、Char和Int之間的相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下2019-06-06java判斷l(xiāng)ist不為空的實(shí)現(xiàn),和限制條數(shù)不要在一起寫
這篇文章主要介紹了java判斷l(xiāng)ist不為空的實(shí)現(xiàn),和限制條數(shù)不要在一起寫。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01spring?data?jpa如何使用自定義repository實(shí)現(xiàn)類
這篇文章主要介紹了spring?data?jpa如何使用自定義repository實(shí)現(xiàn)類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11IntelliJ IDEA自定義代碼提示模板Live Templates的圖文教程
這篇文章主要介紹了IntelliJ IDEA自定義代碼提示模板Live Templates,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03java對接支付寶支付項(xiàng)目的實(shí)戰(zhàn)記錄
最近公司有一個需求是接入第三方支付(微信&支付寶),我接到了支付寶支付,所以下面這篇文章主要給大家介紹了關(guān)于java對接支付寶支付項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2022-06-06關(guān)于ReentrantLock的實(shí)現(xiàn)原理解讀
這篇文章主要介紹了關(guān)于ReentrantLock的實(shí)現(xiàn)原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06