Hi, I just bought a mini 2440 board with the CMOS camera (CAM130). I am not <yet> very experienced in this area... My question: how to display camera pictures in a Qt application/window? Is there any example code? The board comes with preinstalled Qt demo applications, but I can't find the sources. Are they really close source - why? Is there anybody reading this board who is authorized to publish these sources? Thanks for your help! /Marc
How to use CMOS camera using Qt?
Hello, the CMOS camera interface is very simple. You just have to open /dev/camera and read buffer of the size 655360 bytes ( 640x512x2); each time you read from the device camera will capture a new frame. Information is stored in RGB565 format. So every pixel correspond to two bytes, there are 5 bits for red channel, 6 bits for green and 5 bits for blue. There is a sample in http://www.friendlyarm.net/dl.php?file=linux-examples.tgz but without QT
Hello Vladimir, I think that is for CMUCam camera like OV7620, but how to access USB Camera like Webcam ? Thanks, Kardic
Hello, if your camera is supported (i.e there is linux driver for it), then you can use standard video4linux approach, here is an example: http://v4l2spec.bytesex.org/v4l2spec/capture.c again, without QT. There are some QT programs which are doing V4L capture, for example this one: http://kapture.berlios.de/ , maybe it would be possible to compile it for mini2440
Use emdebian : it's lite debian system and work very well last step are list there : http://code.google.com/p/mini2440/wiki/Emdebian For information uboot it's not nececerly, I can do it with vivi.
hello Mr. Vladimir. i have test the camera cam130 by use hyperterminal. i just type camtest and it works. can i capture the image by using console in hyperterminal? thanks alot
Just use Qimage to load data from webcam
modify main function in camtest.cpp like this.
try {
//TFrameBuffer FrameBuffer;
TVideo Video("/dev/camera",640,480,16);
QImage q1 ;
for (;;) {
Video.FetchPicture();
//FrameBuffer.DrawRect(Video);
q1 = QImage(Video.Addr,Video.Width,Video.Height,QImage::Format_RGB16);
//do what ever you want here
}
} catch (TError bitand e) {
e.Output();
return 1;
}
............
very simple :)


