Webcam javaFX

5 respostas Resolvido
A

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 ?

5 Respostas

Daniel_Dias
Solucao aceita

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.

R

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.

S

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);

A

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

A

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 ?

Criado 16 de março de 2016
Ultima resposta 27 de mar. de 2016
Respostas 5
Participantes 4