Example #1
0
void CvCaptureCAM_PvAPI::close()
{
    // Stop the acquisition & free the camera
    stopCapture();
    PvCameraClose(Camera.Handle);
    PvUnInitialize();
}
Example #2
0
void CvCaptureCAM_PvAPI::close()
{
	// Stop the acquisition & free the camera
	PvCommandRun(Camera.Handle, "AcquisitionStop");
	PvCaptureEnd(Camera.Handle);
	PvCameraClose(Camera.Handle);	
}
//--------------------------------------------------------------------
void ofxVideoGrabberPvAPI::close(){

    if( bGrabberInited ) {
        // stop the streaming
        PvCommandRun(cameraHandle,"AcquisitionStop");
        PvCaptureEnd(cameraHandle);  
        
        // unsetup the camera
        PvCameraClose(cameraHandle);
        // and free the image buffer of the frame
        delete [] (char*)cameraFrame.ImageBuffer;  
    }

    if( bPvApiInitiated ) {
        // uninitialise the API
        PvUnInitialize();
    }

	if (pixels != NULL){
		delete[] pixels;
		pixels = NULL;
	}

	tex.clear();

}
Example #4
0
	void OmniCamera::stop(void) {
		if(isConnected()) {
			PvCommandRun(_camera.handle,"AcquisitionStop");
            PvCaptureEnd(_camera.handle);
			PvCameraClose(_camera.handle);
			if(_camera.frame.ImageBuffer)
				delete [] (char*)_camera.frame.ImageBuffer;
			_camera.handle = NULL;
			_connected = false;
		}
	}
Example #5
0
Camera::~Camera()
{
  stop();
  
  PvCameraClose(handle_);

  if (frames_)
  {
    for (unsigned int i = 0; i < bufferSize_; ++i)
      delete[] (char*)frames_[i].ImageBuffer;
    delete[] frames_;
  }
}
Example #6
0
//
// idlPvCameraClose
//
// Close specified camera
//
// command line arguments
// argv[0]: IN/FLAG debug
// argv[1]: IN camera index
int idlPvCameraClose (int argc, char *argv[])
{
  unsigned long n;
  unsigned long err;

  debug = *(IDL_INT *) argv[0];
  n = *(unsigned long *) argv[1];
  
  CHECKINDEX(n);

  err = PvCameraClose(camera[n]);

  return idlPvErrCode(err);
}
// close camera, free memory.
void CameraUnsetup()
{
    tPvErr errCode;
	
    if((errCode = PvCameraClose(GCamera.Handle)) != ePvErrSuccess)
	{
		printf("CameraUnSetup: PvCameraClose err: %u\n", errCode);
	}
	else
	{
		printf("Camera closed.");
	}
	
	// free image buffer
    delete [] (char*)GCamera.Frame.ImageBuffer;
}
// close camera, free memory.
void CameraUnsetup()
{
    tPvErr errCode;
	
    if((errCode = PvCameraClose(GCamera.Handle)) != ePvErrSuccess)
	{
		printf("CameraUnSetup: PvCameraClose err: %u\n", errCode);
	}
	else
	{
		printf("Camera closed.\n");
	}
	// delete image buffers
    for(int i=0;i<FRAMESCOUNT;i++)
        delete [] (char*)GCamera.Frames[i].ImageBuffer;

    GCamera.Handle = NULL;
}
Example #9
0
// unsetup the camera
void CameraUnsetup(tCamera* Camera)
{
    PvCameraClose(Camera->Handle);
    // and free the image buffer of the frame
    delete [] (char*)Camera->Frame.ImageBuffer;
}
Example #10
0
// unsetup the camera
void CameraUnsetup()
{
    PvCameraClose(GCamera.Handle);
    // and free the image buffer of the frame
    delete [] (char*)GCamera.Frame.ImageBuffer;
}
Example #11
0
// unsetup the camera
void cameraUnsetup(tCamera* camera) {
  // dequeue all the frame still queued (this will block until they all have been dequeued)
  PvCaptureQueueClear(camera->Handle);
  // then close the camera
  PvCameraClose(camera->Handle);
}
Example #12
0
int main(int argc, char* argv[])
{
    tPvErr errCode;
    int err = 0;

    // initialize the PvAPI
    if((errCode = PvInitialize()) != ePvErrSuccess)
    {
        printf("PvInitialize err: %u\n", errCode);
    }
    else
    {
        int c;
        unsigned long uid = 0;
        unsigned long addr = 0;
        bool bGet = false;
        bool bSet = false;

        while ((c = getopt (argc, argv, "u:i:gs:h?")) != -1)
        {
            switch(c)
            {
            case 'u':
            {
                if(optarg)
                    uid = atol(optarg);

                break;
            }
            case 'i':
            {
                if(optarg)
                    addr = inet_addr(optarg);

                break;
            }
            case 'g':
            {
                bGet = true;
                break;
            }
            case 's':
            {
                bSet = true;
                break;
            }
            case '?':
            case 'h':
            {
                ShowUsage();
                break;
            }
            default:
                break;
            }
        }

        if(uid || ((addr != INADDR_NONE) && (addr != INADDR_ANY)))
        {
            tPvHandle       Camera;
            tPvAccessFlags  Flags = (bSet ? ePvAccessMaster : ePvAccessMonitor);

            if(uid)
            {
                // wait a bit to leave some time to the API to detect any camera
                Sleep(500);
                // and open the camera
                errCode = PvCameraOpen(uid,Flags,&Camera);
            }
            else
                errCode = PvCameraOpenByAddr(addr,Flags,&Camera);

            if(errCode == ePvErrSuccess)
            {
                if(bGet) // get value
                    errCode = MemRead(Camera);
                else if(bSet) // set value
                    errCode = MemWrite(Camera,argv[argc-1]);

                if(errCode != ePvErrSuccess)
                    fprintf(stderr,"Error: %u\n",errCode);

                err = 1;

                // close the camera
                PvCameraClose(Camera);
            }
            else
            {
                if(errCode == ePvErrNotFound || errCode == ePvErrUnplugged)
                    fprintf(stderr,"No camera detected.\n");
                else if(errCode == ePvErrAccessDenied)
                    fprintf(stderr,"Camera already in use.\n");
                else
                    fprintf(stderr,"PvCameraOpen fail: %u\n", errCode);

                err = 1;
            }
        }
        else
        {
            ShowUsage();
            err = 1;
        }

        PvUnInitialize();
    }

    return err;
}
Example #13
0
bool CameraGigE::onFinish() {
	LOG(LTRACE) << "CameraGigE::finish\n";
	PvCameraClose(cHandle);
	return true;
}
Example #14
0
// close the camera
void CameraClose(tPvHandle Handle)
{
    PvCameraClose(Handle); 
}
Example #15
0
// close the camera
void CameraClose()
{
    PvCameraClose(GCamera.Handle); 
}
Example #16
0
/*
 * Method:    CloseCamera()
 * Purpose:   close a given camera
 * Comments:  none
 */
void CMainWindow::CloseCamera(tPvHandle aHandle)
{
    PvCameraClose(aHandle);
}
Example #17
0
int main(int argc, char* argv[])
{
    int err = 0;

    // initialise the Prosilica API
    if(!PvInitialize())
    {
        int c;
        unsigned long uid = 0;
        unsigned long addr = 0;
        bool bLoad = false;
        bool bSave = false;
    
        while ((c = getopt (argc, argv, "u:i:ls:h?")) != -1)
        {
            switch(c)
            {
                case 'u':
                {
                    if(optarg)
                        uid = atol(optarg);
                    
                    break;    
                }
                case 'i':
                {
                    if(optarg)
                        addr = inet_addr(optarg);
                    
                    break;    
                }                
                case 'l':
                {
                    bLoad = true;
                    break;
                }
                case 's':
                {
                    bSave = true;
                    break;
                }
                case '?':
                case 'h':
                {
                    ShowUsage();
                    break;    
                }
                default:
                    break;
            }
        }

        if((uid || addr) && (bSave || bLoad))
        {
            tPvHandle       Camera;
            tPvAccessFlags  Flags = (bLoad ? ePvAccessMaster : ePvAccessMonitor);
            tPvErr          Err;
            bool            Done = false;

            if(uid)
            {
                // wait a bit to leave some time to the API to detect any camera
                Sleep(500);
                // and open the camera
                Err = PvCameraOpen(uid,Flags,&Camera);
            }
            else
                Err = PvCameraOpenByAddr(addr,Flags,&Camera);
                
            if(!Err)
            {   
                if(bLoad) // load the camera setup
                    Done = SetupLoad(Camera,argv[argc-1]);
                else
                if(bSave) // save the camera setup
                    Done = SetupSave(Camera,argv[argc-1]);          

                if(!Done)
                    fprintf(stderr,"sorry, an error occured\n");

                err = 1;

                // close the camera
                PvCameraClose(Camera);
            }
            else
            {
                if(Err == ePvErrNotFound || Err == ePvErrUnplugged)
                    fprintf(stderr,"sorry, couldn't found the camera\n");
                else
                if(Err == ePvErrAccessDenied)
                    fprintf(stderr,"sorry, this camera is already in use\n");
                else
                    fprintf(stderr,"sorry, couldn't open the camera for some reason\n");

                err = 1;    
            }    
        }
        else
        {
            ShowUsage();
            err = 1;  
        }

        // uninitialise the API
        PvUnInitialize();
    }
    else
    {
        err = 1;
        fprintf(stderr,"failed to initialise the API\n");
    }
    
	return err;
}