JavaCV Bilder mit Webcam aufnehmen zu langsam

$name

Grünschnabel
Hallo,
Ich mache mit folgen Code 2 Bilder mit 2 verschiedenen Webcams.
Code:
import java.awt.image.BufferedImage;
import com.googlecode.javacv.OpenCVFrameGrabber;

class Cam
{   
	static BufferedImage img_new = null;
	static BufferedImage img_old = null;
	static BufferedImage img_aimCam = null;
	final static OpenCVFrameGrabber grabber_moveCam = new OpenCVFrameGrabber(1);
	final static OpenCVFrameGrabber grabber_aimCam = new OpenCVFrameGrabber(0);
			
	public static void takePicture(int numberFrames) throws Exception
	{
	    	if(numberFrames == 0) // (grabber....).start() nur beim ersten Aufruf
	    	{
	    		grabber_aimCam.setImageWidth(640);
	    		grabber_aimCam.setImageHeight(480);
	    		grabber_moveCam.setImageWidth(640);
	    		grabber_moveCam.setImageHeight(480);
                                          //grabber_moveCam.setFrameRate(20); // funktioniert nicht
	    		//grabber_aimCam.setFrameRate(20); // funktioniert nicht
	    		grabber_aimCam.start();
	    		grabber_moveCam.start();
	    	}	    		    	
	    	img_new = (grabber_moveCam.grab()).getBufferedImage();
	    	img_aimCam = (grabber_aimCam.grab()).getBufferedImage();
	}
}

In einer anderen Klasse rufe ich die Methode "takePicture(int)" in einer Schleife auf.
Das Problem ist, das das aufnehmen dieses beiden Bilder jedes mal 250-270 ms dauert und das einfach zu lang ist.

Gibt es eine Möglichkeit um das etwas zu beschleunigen?

Ich hoffe ihr könnt mir helfen,
MfG $name
 
Zuletzt bearbeitet:
Bezweifel ich stark, dass man das einfach so Beschleunigen kann meiner Erfahrung nach ist OpenCV mit C++ schneller als das OpenCV von Java vielleicht kannst du mit C++ arbeiten und dann mit JNI in Java einbinden.
 
Hab noch ein bisschen probiert und bin letzten Endes wieder bei diesem Code rausgekommen.
Jetzt ist es wesentlich schneller, warum weiß ich allerdings auch nicht. PC, Webcams usw. ist alles das gleiche wie vorher.

MfG $name;
 

Neue Beiträge

Zurück