diff --git a/modules/highgui/src/cap_mil.cpp b/modules/highgui/src/cap_mil.cpp deleted file mode 100644 index 66aec54a7811937d895f800ceeaa9030fc1ed8d6..0000000000000000000000000000000000000000 --- a/modules/highgui/src/cap_mil.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// Intel License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2000, Intel Corporation, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of Intel Corporation may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include "mil.h" - -#if _MSC_VER >= 1200 - #pragma warning( disable: 4711 ) - #pragma comment(lib,"mil.lib") - #pragma comment(lib,"milmet2.lib") -#endif - -#if defined _M_X64 - #pragma optimize("",off) -#endif - -/********************* Capturing video from camera via MIL *********************/ - -struct -{ - MIL_ID MilApplication; - int MilUser; -} g_Mil = {0,0}; //global structure for handling MIL application - -class CvCaptureCAM_MIL : public CvCapture -{ -public: - CvCaptureCAM_MIL() { init(); } - virtual ~CvCaptureCAM_MIL() { close(); } - - virtual bool open( int index ); - virtual void close(); - - virtual double getProperty(int); - virtual bool setProperty(int, double) { return false; } - virtual bool grabFrame(); - virtual IplImage* retrieveFrame(int); - virtual int getCaptureDomain() { return CV_CAP_MIL; } // Return the type of the capture object: CV_CAP_VFW, etc... - -protected: - void init(); - - MIL_ID - MilSystem, /* System identifier. */ - MilDisplay, /* Display identifier. */ - MilDigitizer, /* Digitizer identifier. */ - MilImage; /* Image buffer identifier. */ - IplImage* rgb_frame; -}; - - -void CvCaptureCAM_MIL::init() -{ - MilSystem = MilDisplay = MilDigitizer = MilImage = M_NULL; - rgb_frame = 0; -} - -// Initialize camera input -bool CvCaptureCAM_MIL::open( int wIndex ) -{ - close(); - - if( g_Mil.MilApplication == M_NULL ) - { - assert(g_Mil.MilUser == 0); - MappAlloc(M_DEFAULT, &(g_Mil.MilApplication) ); - g_Mil.MilUser = 1; - } - else - { - assert(g_Mil.MilUser>0); - g_Mil.MilUser++; - } - - int dev_table[16] = { M_DEV0, M_DEV1, M_DEV2, M_DEV3, - M_DEV4, M_DEV5, M_DEV6, M_DEV7, - M_DEV8, M_DEV9, M_DEV10, M_DEV11, - M_DEV12, M_DEV13, M_DEV14, M_DEV15 }; - - //set default window size - int w = 320; - int h = 240; - - for( ; wIndex < 16; wIndex++ ) - { - MsysAlloc( M_SYSTEM_SETUP, //we use default system, - //if this does not work - //try to define exact board - //e.g.M_SYSTEM_METEOR,M_SYSTEM_METEOR_II... - dev_table[wIndex], - M_DEFAULT, - &MilSystem ); - - if( MilSystem != M_NULL ) - break; - } - if( MilSystem != M_NULL ) - { - MdigAlloc(MilSystem,M_DEFAULT, - M_CAMERA_SETUP, //default. May be M_NTSC or other - M_DEFAULT,&MilDigitizer); - - rgb_frame = cvCreateImage(cvSize(w,h), IPL_DEPTH_8U, 3 ); - MdigControl(MilDigitizer, M_GRAB_SCALE, 1.0 / 2); - - /*below line enables getting image vertical orientation - consistent with VFW but it introduces some image corruption - on MeteorII, so we left the image as is*/ - //MdigControl(MilDigitizer, M_GRAB_DIRECTION_Y, M_REVERSE ); - - MilImage = MbufAllocColor(MilSystem, 3, w, h, - 8+M_UNSIGNED, M_IMAGE + M_GRAB, M_NULL); - } - - return MilSystem != M_NULL; -} - -void CvCaptureCAM_MIL::close( CvCaptureCAM_MIL* capture ) -{ - if( MilSystem != M_NULL ) - { - MdigFree( MilDigitizer ); - MbufFree( MilImage ); - MsysFree( MilSystem ); - cvReleaseImage(&rgb_frame ); - - g_Mil.MilUser--; - if(!g_Mil.MilUser) - MappFree(g_Mil.MilApplication); - - MilSystem = M_NULL; - MilDigitizer = M_NULL; - } -} - - -bool CvCaptureCAM_MIL::grabFrame() -{ - if( MilSystem ) - { - MdigGrab(MilDigitizer, MilImage); - return true; - } - return false; -} - - -IplImage* CvCaptureCAM_MIL::retrieveFrame(int) -{ - MbufGetColor(MilImage, M_BGR24+M_PACKED, M_ALL_BAND, (void*)(rgb_frame->imageData)); - return rgb_frame; -} - -double CvCaptureCAM_MIL::getProperty( int property_id ) -{ - switch( property_id ) - { - case CV_CAP_PROP_FRAME_WIDTH: - return rgb_frame ? rgb_frame->width : 0; - case CV_CAP_PROP_FRAME_HEIGHT: - return rgb_frame ? rgb_frame->height : 0; - } - return 0; -} - -bool CvCaptureCAM_MIL::setProperty( int, double ) -{ - return false; -} - - -CvCapture* cvCreateCameraCapture_MIL( int index ) -{ - CvCaptureCAM_MIL* capture = new CvCaptureCAM_MIL; - - if( capture->open( index )) - return capture; - - delete capture; - return 0; -} diff --git a/modules/highgui/src/cap_tyzx.cpp b/modules/highgui/src/cap_tyzx.cpp deleted file mode 100644 index 5f9c3f387484d3682dc7775cce268f579e0dc1a9..0000000000000000000000000000000000000000 --- a/modules/highgui/src/cap_tyzx.cpp +++ /dev/null @@ -1,230 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// Intel License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2000, Intel Corporation, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of Intel Corporation may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include <DeepSeaIF.h> - -#if _MSC_VER >= 1200 - #pragma comment(lib,"DeepSeaIF.lib") -#endif - - -/****************** Capturing video from TYZX stereo camera *******************/ -/** Initially developed by Roman Stanchak rstanchak@yahoo.com */ - -class CvCaptureCAM_TYZX : public CvCapture -{ -public: - CvCaptureCAM_TYZX() { index = -1; image = 0; } - virtual ~CvCaptureCAM_TYZX() { close(); } - - virtual bool open( int _index ); - virtual void close(); - bool isOpened() { return index >= 0; } - - virtual double getProperty(int); - virtual bool setProperty(int, double) { return false; } - virtual bool grabFrame(); - virtual IplImage* retrieveFrame(int); - virtual int getCaptureDomain() { return CV_CAP_TYZX; } // Return the type of the capture object: CV_CAP_VFW, etc... - -protected: - virtual bool allocateImage(); - - int index; - IplImage* image; -} -CvCaptureCAM_TYZX; - -DeepSeaIF * g_tyzx_camera = 0; -int g_tyzx_refcount = 0; - -bool CvCaptureCAM_TYZX::open( int _index ) -{ - close(); - - if(!g_tyzx_camera){ - g_tyzx_camera = new DeepSeaIF; - if(!g_tyzx_camera) return false; - - if(!g_tyzx_camera->initializeSettings(NULL)){ - delete g_tyzx_camera; - return false; - } - - // set initial sensor mode - // TODO is g_tyzx_camera redundant? - g_tyzx_camera->setSensorMode(g_tyzx_camera->getSensorMode()); - - // mm's - g_tyzx_camera->setZUnits((int) 1000); - - g_tyzx_camera->enableLeftColor(true); - g_tyzx_camera->setColorMode(DeepSeaIF::BGRcolor); - g_tyzx_camera->setDoIntensityCrop(true); - g_tyzx_camera->enable8bitImages(true); - if(!g_tyzx_camera->startCapture()){ - return false; - } - g_tyzx_refcount++; - } - index = _index; - return true; -} - -void CvCaptureCAM_TYZX::close() -{ - if( isOpened() ) - { - cvReleaseImage( &image ); - g_tyzx_refcount--; - if(g_tyzx_refcount==0){ - delete g_tyzx_camera; - } - } -} - -bool CvCaptureCAM_TYZX::grabFrame() -{ - return isOpened() && g_tyzx_camera && g_tyzx_camera->grab(); -} - -bool CvCaptureCAM_TYZX::allocateImage() -{ - int depth, nch; - CvSize size; - - // assume we want to resize - cvReleaseImage(&image); - - // figure out size depending on index provided - switch(index){ - case CV_TYZX_RIGHT: - size = cvSize(g_tyzx_camera->intensityWidth(), g_tyzx_camera->intensityHeight()); - depth = 8; - nch = 1; - break; - case CV_TYZX_Z: - size = cvSize(g_tyzx_camera->zWidth(), g_tyzx_camera->zHeight()); - depth = IPL_DEPTH_16S; - nch = 1; - break; - case CV_TYZX_LEFT: - default: - size = cvSize(g_tyzx_camera->intensityWidth(), g_tyzx_camera->intensityHeight()); - depth = 8; - nch = 1; - break; - } - image = cvCreateImage(size, depth, nch); - return image != 0; -} - -/// Copy 'grabbed' image into capture buffer and return it. -IplImage * CvCaptureCAM_TYZX::retrieveFrame(int) -{ - if(!isOpened() || !g_tyzx_camera) return 0; - - if(!image && !alocateImage()) - return 0; - - // copy camera image into buffer. - // tempting to reference TYZX memory directly to avoid copying. - switch (index) - { - case CV_TYZX_RIGHT: - memcpy(image->imageData, g_tyzx_camera->getRImage(), image->imageSize); - break; - case CV_TYZX_Z: - memcpy(image->imageData, g_tyzx_camera->getZImage(), image->imageSize); - break; - case CV_TYZX_LEFT: - default: - memcpy(image->imageData, g_tyzx_camera->getLImage(), image->imageSize); - break; - } - - return image; -} - -double CvCaptureCAM_TYZX::getProperty(int property_id) -{ - CvSize size; - switch(capture->index) - { - case CV_TYZX_LEFT: - size = cvSize(g_tyzx_camera->intensityWidth(), g_tyzx_camera->intensityHeight()); - break; - case CV_TYZX_RIGHT: - size = cvSize(g_tyzx_camera->intensityWidth(), g_tyzx_camera->intensityHeight()); - break; - case CV_TYZX_Z: - size = cvSize(g_tyzx_camera->zWidth(), g_tyzx_camera->zHeight()); - break; - default: - size = cvSize(0,0); - } - - switch( property_id ) - { - case CV_CAP_PROP_FRAME_WIDTH: - return size.width; - case CV_CAP_PROP_FRAME_HEIGHT: - return size.height; - } - - return 0; -} - -bool CvCaptureCAM_TYZX::setProperty( int, double ) -{ - return false; -} - -CvCapture * cvCreateCameraCapture_TYZX (int index) -{ - CvCaptureCAM_TYZX * capture = new CvCaptureCAM_TYZX; - if( capture->open(index) ) - return capture; - - delete capture; - return 0; -}