리눅스의 웹캠에 액세스 할 수있는 v4lvj 라이브러리에 관한 자습서를 읽고 있습니다. link to source 기본적으로 웹캠의 비디오 피드를 표시하는 예제 프로그램을 작성했습니다. 모든 것은 프로그램에서 설명한대로 작동합니다. 문제는 비디오 피드의 녹색 라인 온탑을 추가하여 프로그램을 변경하려고 할 때 발생합니다. 나는 그래픽을 같은 방식으로 잡고 라인 색을 설정 한 다음 선을 그립니다. 다음v4lvj 웹캠 이미지 상단에 선 그리기
javax.imageio.IIOException: Unsupported marker type 0x5a
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1176)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:984)
at javax.imageio.ImageIO.read(ImageIO.java:1438)
at javax.imageio.ImageIO.read(ImageIO.java:1342)
at au.edu.jcu.v4l4j.JPEGVideoFrame.refreshBufferedImage(Unknown Source)
at au.edu.jcu.v4l4j.BaseVideoFrame.getBufferedImage(Unknown Source)
at SimpleViewer.nextFrame(SimpleViewer.java:143)
at au.edu.jcu.v4l4j.PushSource.run(Unknown Source)
at java.lang.Thread.run(Thread.java:679)
au.edu.jcu.v4l4j.exceptions.V4L4JException: Exception received while grabbing next frame
at au.edu.jcu.v4l4j.PushSource.run(Unknown Source)
at java.lang.Thread.run(Thread.java:679)
Caused by: au.edu.jcu.v4l4j.exceptions.UnsupportedMethod: Unable to decode the image
at au.edu.jcu.v4l4j.JPEGVideoFrame.refreshBufferedImage(Unknown Source)
at au.edu.jcu.v4l4j.BaseVideoFrame.getBufferedImage(Unknown Source)
at SimpleViewer.nextFrame(SimpleViewer.java:143)
... 2 more
Caused by: javax.imageio.IIOException: Unsupported marker type 0x5a
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1176)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:984)
at javax.imageio.ImageIO.read(ImageIO.java:1438)
at javax.imageio.ImageIO.read(ImageIO.java:1342)
... 5 more
: 그래도, 내가 앞에 몇 가지 예외를 얻을 수행 할 때
@Override
public void nextFrame(VideoFrame frame) {
// This method is called when a new frame is ready.
// Don't forget to recycle it when done dealing with the frame.
// draw the new frame onto the JLabel
label.getGraphics().drawImage(frame.getBufferedImage(), 0, 0, width, height, null);
label.getGraphics().setColor(Color.GREEN); //this line causes exceptions
label.getGraphics().drawLine(0, 0, 640, 480); //this line causes exceptions
// recycle the frame
frame.recycle();
}
는 "... BMP BMP의 도트 JPG JPG. 당신의 JVM이 이미지 지원되는 이미지 형식을 디코딩 할 수없는 것 같다"
아무에게도 그 이유를 말해 줄 수 없으며 비디오 피드의 온라인 온 라인을 그릴 수 있습니다. 고맙습니다.
을 그리는 프로그램은 내가 분리 될 때까지 같은 방법으로 종료 계속됩니다 그런 다음 웹 카메라를 다시 연결하십시오. – Matthew
이 문제를 해결 했습니까? –
나는 잠시 후에 그것을 보지 않았다. – Matthew