I worte the code below to save a picture. But whatever I set for ImageWidth and ImageHeight, this has no effect on the resolution. The resolution is always 640x480. I'm using a Microsoft Life Cam Cinema, which supports 720p.
FrameGrabber grabber = new VideoInputFrameGrabber(1);
try{
grabber.start();
} catch (FrameGrabber.Exception e) {
System.out.println("Exception grabber start");
}
grabber.setImageHeight(720);
grabber.setImageWidth(1280);
grabber.setGamma(25);
double gamma = grabber.getGamma();
int camHeight= grabber.getImageHeight();
int camWidth= grabber.getImageWidth();
IplImage img = null;
Frame frame = null;
try{
frame = grabber.grabFrame();
} catch (FrameGrabber.Exception e){
System.out.println("Exception grabbing frame");
}
OpenCVFrameConverter.ToIplImage converter = new OpenCVFrameConverter.ToIplImage();
img = converter.convert(frame);
cvSaveImage("img.jpg", img);
grabber.setImageHeight(720);
and grabber.setImageWidth(1280);
have to be beforegrabber.start();