java - How to recognize a person from an Image in OpenCv -
i made program detects face image:
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.highgui.highgui; import org.opencv.objdetect.cascadeclassifier; class detectfacedemo { public void run() { system.out.println("\nrunning detectfacedemo"); cascadeclassifier facedetector = new cascadeclassifier("c:\\users\\hm\\documents\\netbeansprojects\\vision\\src\\lbpcascade_frontalface.xml"); mat image = highgui.imread("c:\\users\\hm\\downloads\\john-lennon.jpg"); matofrect facedetections = new matofrect(); facedetector.detectmultiscale(image, facedetections); system.out.println(string.format("faces detected: %s ", facedetections.toarray().length)); (rect rect : facedetections.toarray()) { core.rectangle(image, new point(rect.x, rect.y), new point(rect.x + rect.width, rect.y + rect.height), new scalar(0, 255, 0), 3); } string filename = "detcsuccessful.png"; highgui.imwrite(filename, image); } } public class image { public static void main(string[] args) { // load native library. system.loadlibrary(core.native_library_name); new detectfacedemo().run(); } }
and got this: john lennon picture
wanna recognize guy in image program , show name after.
something like: computer: guy john.
package com.test8; 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.imgcodecs.imgcodecs; import org.opencv.imgproc.imgproc; import org.opencv.objdetect.cascadeclassifier; class facedetection { // load native library. static{ system.loadlibrary(core.native_library_name);} public static void main(string[] args) { system.out.println("\nrunning detectfacedemo"); cascadeclassifier facedetector = new cascadeclassifier("d:\\antonkong\\opencv\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml"); mat image = imgcodecs.imread("src//data//hkid2.png"); matofrect facedetections = new matofrect(); facedetector.detectmultiscale(image, facedetections); system.out.println(string.format("faces detected: %s ", facedetections.toarray().length)); (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), 3); } string filename = "detcsuccessful.png"; imgcodecs.imwrite(filename, image); } }
Comments
Post a Comment