Olá amigos, primeiramente gostaria de agradecer pela ajuda aqui, sempre consigo sanar minhas duvidas e aprendo um pouco mais.
Tenho uma classe Captura, ela pega a foto de uma pessoa e atribui o ID, dai quero modificar essa classe, pra ser usado no sistema com java swing , só que não sei como fazer isso. To usando o JAVACV.
public class Captura {
public static void main(String arg[]) throws FrameGrabber.Exception, InterruptedException {
KeyEvent tecla = null;
OpenCVFrameConverter.ToMat converteMat = new OpenCVFrameConverter.ToMat();
OpenCVFrameGrabber camera = new OpenCVFrameGrabber(0);
camera.start();
CascadeClassifier detectorFace = new CascadeClassifier("src\\recursos\\haarcascade_frontalface_alt.xml");
CanvasFrame cFrame = new CanvasFrame("Preview", CanvasFrame.getDefaultGamma() / camera.getGamma());
Frame frameCapturado = null;
Mat imagemColorida = new Mat();
int numeroAmostras = 25;
int amostra = 1;
System.out.println("Digite seu id: ");
Scanner cadastro = new Scanner(System.in);
int idPessoa = cadastro.nextInt();
while ((frameCapturado = camera.grab()) != null) {
imagemColorida = converteMat.convert(frameCapturado);
Mat imagemCinza = new Mat();
System.out.println(imagemCinza);
System.out.println(imagemColorida);
cvtColor(imagemColorida, imagemCinza, COLOR_BGRA2GRAY);
RectVector facesDetectadas = new RectVector();
detectorFace.detectMultiScale(imagemCinza, facesDetectadas, 1.1, 1, 0, new Size(150,150), new Size(500,500));
if (tecla == null) {
tecla = cFrame.waitKey(5);
}
for (int i=0; i < facesDetectadas.size(); i++) {
Rect dadosFace = facesDetectadas.get(0);
rectangle(imagemColorida, dadosFace, new Scalar(0,0,255, 0));
Mat faceCapturada = new Mat(imagemCinza, dadosFace);
resize(faceCapturada, faceCapturada, new Size(160,160));
if (tecla == null) {
tecla = cFrame.waitKey(5);
}
if (tecla != null) {
if (tecla.getKeyChar() == 'q') {
if (amostra <= numeroAmostras) {
imwrite("src\\fotos\\pessoa." + idPessoa + "." + amostra + ".jpg", faceCapturada);
System.out.println("Foto " + amostra + " capturada\n");
amostra++;
}
}
tecla = null;
}
}
if (tecla == null) {
tecla = cFrame.waitKey(20);
}
if (cFrame.isVisible()) {
cFrame.showImage(frameCapturado);
}
if (amostra > numeroAmostras) {
break;
}
}
cFrame.dispose();
camera.stop();
}
}