PhotoBanter.com

PhotoBanter.com (http://www.photobanter.com/index.php)
-   Digital Photography (http://www.photobanter.com/forumdisplay.php?f=5)
-   -   Problem using CMU driver with PGR camera (http://www.photobanter.com/showthread.php?t=82413)

[email protected] June 18th 07 07:25 PM

Problem using CMU driver with PGR camera
 
Hi,

I have used the CMU camera driver for the 1394 spec with Matlab before
and have been able to use the PGR DragonFly for live image streaming.
There was no problem then.

I am using the same driver now with only Visual C++ (MS VS 2005) but
am not able to get this camera working with my code. The code works
fine with other cameras but not this one. It cant initialise this type
of camera. The demo that comes with CMU runs the camera in its RAW
Bayer format ( i.e. black and white with the dots). I think it may be
a bayersensoralignment problem but havent been able to work out how to
rectify this. Ive extracted bits from the code and pasted them
below.:


#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
#include "cvaux.h"
#include "1394camera.h"

#define CAM_RES_WIDTH 640
#define CAM_RES_HEIGHT 480
#define CAM_RES_CHANNELS 3


int main( int argc, char** argv )
{


// Camera initialisation


C1394Camera cam0;


// cam1.RefreshCameraList();


cam0.RefreshCameraList();
cam0.SelectCamera(0);


if(cam0.InitCamera() != CAM_SUCCESS)
{
printf("\nInitialization failed .");
return 1;
}
if(cam0.SetVideoFormat(0) != CAM_SUCCESS)
{
printf("\nCould not set video format.");
return 1;
}
if(cam0.SetVideoMode(2) != CAM_SUCCESS)
{
printf("\nCould not set video mode.");
return 1;
}
if(cam0.SetVideoFrameRate(4) != CAM_SUCCESS)
{
printf("\nCould not set frame rate.");
return 1;
}
if(cam0.StartImageAcquisition() != CAM_SUCCESS)
{
printf("\nCould not start image acquisation.");
return 1;
}


cvWaitKey(1000);

cvNamedWindow( "Live Input",1);
HWND hWnD =reinterpret_castHWND(cvGetWindowHandle( "Live
Input" ));
CameraControlDialog(hWnD,&cam0,TRUE);

// declaring image pointer (OPENCV)
IplImage *I1 =
cvCreateImage( cvSize(CAM_RES_WIDTH,CAM_RES_HEIGHT),
8U,CAM_RES_CHANNELS);

//acquire image ...
while (j==1)
{


if(cam0.AcquireImage() != CAM_SUCCESS)
{
printf("\nCould not acquire image. from cam0");
return 1;
}



cam0.getRGB((unsigned char*)(I1-imageData),
(CAM_RES_WIDTH*CAM_RES_HEIGHT*CAM_RES_CHANNELS));

cvShowImage("Live Input", I1);
}

}
--------------

I have tried various combinations of values in the intialisation bit .
It just fails to initialise giving the error in the printf bit above,
i.e. first step, which is

if(cam0.InitCamera() != CAM_SUCCESS)
{
printf("\nInitialization failed .");
return 1;
}

Any advice on this will be helpful.


Thank you,
Saad Choudri


Paul Allen June 20th 07 04:20 PM

Problem using CMU driver with PGR camera
 
Most people here are not programmers. And of the programmers, the
number with specific experience with Visual C++ and the CMU camera
driver is probably quite close to zero.

Your best shot is likely to ask the maintainers at CMU. Unfortunately,
the code's author died in 2000 and his colleagues are maintaining his
code as a tribute to his memory.

Good luck.

Paul Allen


All times are GMT +1. The time now is 07:15 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
PhotoBanter.com