옵션 |
|
기존에 있던 웹캠으로 하니 영상도 잘나오고 캡쳐도 잘되고 했는데
오늘 직원이 다른 카메라 하나 들고와서 테스트 해보라고해서 가벼운 마음으로 캡쳐를 날렸는데
왠 까만화면의 파일 하나가 생성이됩니다..
그래서 카메라가 이상한가하고 봣더니 영상으로 재생하면 잘나오네요
아마 카메라가 구려서 영상을 불러오고 정상적인 화면이 되는데 약간 딜레이가 있ㄴㅏ봅니다
그래서 캡쳐 할때 약간 딜레이를 준후에 캡쳐를 하고 싶은데 구글느님도 잘 모르는건지 질문이 잘못된건지 안나오네요
class DaemonThread implements Runnable {
protected volatile boolean runnable = false;
public void run() {
synchronized(this) {
while(runnable) {
if(webSource.grab()) {
try {
webSource.retrieve(frame);
Highgui.imencode(".bmp", frame, mem);
Image im = ImageIO.read(new ByteArrayInputStream(mem.toArray()));
BufferedImage buff = (BufferedImage) im;
Graphics g = panel.getGraphics();
if(aa == 0) {
File file = new File("C://ABC/abc.jpg");
ImageIO.write(buff, "jpg", file);
aa++;
}
if(g.drawImage(buff, 0, 0, getWidth(), getHeight() - 150, 0, 0, buff.getWidth(), buff.getHeight(), null))
if(runnable == false)
{
System.out.println("Going to wait()");
this.wait();
}
} catch(Exception ex) {
System.out.println(ex);
}
}
}
}
}
}
흔한 opencv 웹캠 소스입니다 혹시 캡쳐 딜레이를 주는 방법을 알고 계신분 있으면 도와주세요~