Webcam javaFX

Pessoal estou precisando criar um metodo para tirar um foto do usuario e cadastra-la no banco de dados sql.
O Banco esta perfeito e ja recebe as imagens que tenho no HD. Fiquei um pouco consfuso sobre qual library devo usar para essa finalidade. a ideia é que no momento do cadastro o usuario clique em um botão e uma nova janela JavaFX se abre com o preview da camera. após se enquadrar na foto o usuario apertaria um novo botão. a foto tirada será salva no banco atraves de um Array de bytes.
Estou procurando mais só encontro coisas desatualizadas usando JMF por exemplo. Alguem poderia me dar uma luz sobre o assunto ?

1 curtida

Ola ,@Alex6 a pouco tempo achei essa API , tem opção para JavaFX também.
Eu testei alguns exemplo do site e funciona bem, só não testei para JavaFX

webcam-capture

{ },s.

Oi, estou tentando algo parecido e no site abaixo encontrei a solução :
http://opencv-java-tutorials.readthedocs.org/en/latest/03-first-javafx-application-with-opencv.html
Espero que ajude.

Já usei e funciona muito bem:
Baixe o pacote Webcam Capture no link abaixo:
http://webcam-capture.sarxos.pl/

Adicione os pacotes webcam-capture-0.3.10.jar, bridj-0.6.2.jar e slf4j-api-1.7.2.jar no seu projeto.

Crie um painel com um botão e um ImageView

programe os eventos:

…initialize…
// inicializar a web cam
webcam = Webcam.getDefault();
webcam.setViewSize(new Dimension(320,240));
webcam.open();

…handleButtonAction…
// obter a imagem
BufferedImage bimage;
bimage = webcam.getImage();

//opcionalmente salvar em arquivo
ImageIO.write(image,“JPG”, new
File(“test.jpg”));

//Converter em Image (JavaFX)
WritableImage wimg;
wimg=SwingFXUtils.toFXImage(bimage,null);

// aplicar no componente ImageView
imageview.setImage(wimg);

1 curtida

Estou fazendo exatamente isso,

só que recebo uma exception

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

Caused by: java.lang.NullPointerException
at br.com.creapix.gui.CadastroController.retorna(CadastroController.java:99)
at br.com.creapix.gui.WebCamPreviewController.disposeCamera(WebCamPreviewController.java:208)

Você poderia olhar os meus códigos ? https://github.com/alexsrs/rfid-eventos

Enfim descobri qual o problema: o meu código nao esta alterando o imageview que foi criado e instanciado automaticamente pelo XML (usando scene builder).
Então eu consegui criar e instanciar uma nova imageview direto dentro do código e fazer as alterações que eu necessitava. porém esse novo imageview apareceu na tela sem que eu pudesse definir seu posicionamento e formatação.
Outro fato curioso é que ele foi criado usando o mesmo nome de variável que o anterior e possui a tag @FXML, como isso é possível ? é possível alterar o valor de Imageview criado pelo scenebuilder ? porque os codigos funcionam para o novo imageview e não funcionaram para o criado pelo scene builder ?