자바+opencv 3.2.0 얼굴 검사 기능 실현
3187 단어 Javaopencv3.2.0얼굴 검사
haarcascade_eye.xml
haarcascade_eye_tree_eyeglasses.xml
haarcascade_frontalcatface.xml
haarcascade_frontalcatface_extended.xml
haarcascade_frontalface_alt.xml
haarcascade_frontalface_alt_tree.xml
haarcascade_frontalface_alt2.xml
haarcascade_frontalface_default.xml
haarcascade_fullbody.xml
haarcascade_lefteye_2splits.xml
haarcascade_licence_plate_rus_16stages.xml
haarcascade_lowerbody.xml
haarcascade_profileface.xml
haarcascade_righteye_2splits.xml
haarcascade_russian_plate_number.xml
haarcascade_smile.xml
haarcascade_upperbody.xml
서로 다른 특징 파일 을 불 러 오 면 검 측 효 과 를 얻 을 수 있 습 니 다.
OpenCV 3.2.0 에서 detectMultiScale 함수 매개 변수 설명:
detectMultiScale(Mat image, MatOfRect objects, double scaleFactor, int minNeighbors, int flags, Size minSize, Size maxSize)
image:검 측 대상 그림,보통 그 레이스 케 일(효율 향상)
objects:검 측 된 물체 의 사각형 상자 벡터 그룹
scaleFactor:앞 뒤 두 번 연속 스 캔 에서 검색 창의 비례 계수 입 니 다.기본 값 은 1.1 입 니 다.즉,매번 검색 창 을 10%씩 확대 합 니 다.
minNeighbors:검 측 목 표를 구성 하 는 인접 사각형 의 최소 개수(기본 값 은 3 개)
flags:기본 값 을 사용 하거나 CV 를 사용 합 니 다.HAAR_DO_CANNY_PRUNING,CV 로 설정 하면HAAR_DO_CANNY_PRUNING,그러면 함 수 는 Canny 테두리 검 측 을 사용 하여 가장자리 가 너무 많 거나 적은 구역 을 제거 하기 때문에 이 구역 들 은 보통 사람의 얼굴 이 있 는 구역 이 아 닙 니 다.
minSize:얻 은 대상 구역 의 최소 범위
max Size:획득 한 대상 구역 의 최대 범위
얼굴 검사 예시 코드:
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;
public class FaceDetect
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.out.println("
Running FaceDetector");
CascadeClassifier faceDetector = new CascadeClassifier();
faceDetector.load(
"C:\\Program Files\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml");
Mat image = Imgcodecs.imread("F:\\1114.jpg");
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 = "F:\\ouput.jpg";
Imgcodecs.imwrite(filename, image);
}
}
원본 그림 과 결과 그림:이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.