diff options
-rw-r--r-- | misc/README.rst | 29 | ||||
-rw-r--r-- | misc/opencv-2.2.0.patch | 374 |
2 files changed, 0 insertions, 403 deletions
diff --git a/misc/README.rst b/misc/README.rst deleted file mode 100644 index baf0f22..0000000 --- a/misc/README.rst +++ /dev/null @@ -1,29 +0,0 @@ -================================ -Patches for third party software -================================ - -OpenCV -====== - -OpenCV is a cross-platform, open source computer vision toolkit. We provide -patches that integrate libuca in OpenCV in order to use all UCA-supported -cameras within OpenCV like:: - - CvCapture *capture = cvCaptureFromCAM(CV_CAP_UCA); - cvNamedWindow("foo", CV_WINDOW_AUTOSIZE); - - IplImage *frame; - frame = cvQueryFrame(capture); - cvShowImage("foo", frame); - - cvDestroyWindow("foo"); - cvReleaseCapture(&capture); - -Patches -------- - -We only supply patches for stable releases of OpenCV. Apply them using - - ``patch -p0 < opencv-x.y.z.patch`` - -inside the top-level directory of the source directory of OpenCV x.y.z. diff --git a/misc/opencv-2.2.0.patch b/misc/opencv-2.2.0.patch deleted file mode 100644 index f7297e9..0000000 --- a/misc/opencv-2.2.0.patch +++ /dev/null @@ -1,374 +0,0 @@ -=== modified file 'CMakeLists.txt' ---- CMakeLists.txt 2011-03-24 16:43:57 +0000 -+++ CMakeLists.txt 2011-03-25 08:34:03 +0000 -@@ -289,6 +289,7 @@ - set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")
- set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")
- set(WITH_XINE OFF CACHE BOOL "Include Xine support (GPL)")
-+ set(WITH_UCA OFF CACHE BOOL "Include Unified Camera Access support")
- endif()
- set(WITH_PVAPI ON CACHE BOOL "Include Prosilica GigE support")
- set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")
-@@ -437,6 +438,13 @@ - set(HAVE_CAMV4L2 FALSE)
- endif()
-
-+ if(WITH_UCA)
-+ CHECK_MODULE(uca HAVE_UCA)
-+ CHECK_INCLUDE_FILE(uca.h HAVE_UCA)
-+ else()
-+ set(HAVE_UCA FALSE)
-+ endif()
-+
- if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
- if(WITH_PNG)
- include(FindPNG)
-@@ -1367,6 +1375,7 @@ - message(STATUS " V4L/V4L2: ${HAVE_CAMV4L}/${HAVE_CAMV4L2}")
- endif()
- message(STATUS " Xine: ${HAVE_XINE}")
-+message(STATUS " Unified Camera Access: ${HAVE_UCA}")
- endif()
-
- if(APPLE)
- -=== modified file 'cvconfig.h.cmake' ---- cvconfig.h.cmake 2011-03-24 16:43:57 +0000 -+++ cvconfig.h.cmake 2011-03-25 10:41:09 +0000 -@@ -31,6 +31,9 @@ - /* IEEE1394 capturing support - libdc1394 v2.x */ - #cmakedefine HAVE_DC1394_2 - -+/* Unified Camera Access - libuca 0.4.0 */ -+#cmakedefine HAVE_UCA -+ - /* ffmpeg in Gentoo */ - #cmakedefine HAVE_GENTOO_FFMPEG - - -=== modified file 'modules/highgui/CMakeLists.txt' ---- modules/highgui/CMakeLists.txt 2011-03-24 16:43:57 +0000 -+++ modules/highgui/CMakeLists.txt 2011-03-25 09:33:17 +0000 -@@ -118,6 +118,10 @@ - set(highgui_srcs ${highgui_srcs} src/cap_dc1394.cpp) - endif() - -+ if(HAVE_UCA) -+ set(highgui_srcs ${highgui_srcs} src/cap_uca.cpp) -+ endif() -+ - if(HAVE_FFMPEG) - set(highgui_srcs ${highgui_srcs} src/cap_ffmpeg.cpp) - if(BZIP2_LIBRARIES) - -=== modified file 'modules/highgui/include/opencv2/highgui/highgui_c.h' ---- modules/highgui/include/opencv2/highgui/highgui_c.h 2011-03-24 16:43:57 +0000 -+++ modules/highgui/include/opencv2/highgui/highgui_c.h 2011-03-25 08:55:31 +0000 -@@ -288,7 +288,9 @@ - - CV_CAP_DSHOW =700, // DirectShow (via videoInput) - -- CV_CAP_PVAPI =800 // PvAPI, Prosilica GigE SDK -+ CV_CAP_PVAPI =800, // PvAPI, Prosilica GigE SDK -+ -+ CV_CAP_UCA =900 // Unified Camera Access for CameraLink and IPE camera - }; - - /* start capturing frames from camera: index = camera_index + domain_offset (CV_CAP_*) */ - -=== modified file 'modules/highgui/src/cap.cpp' ---- modules/highgui/src/cap.cpp 2011-03-24 16:43:57 +0000 -+++ modules/highgui/src/cap.cpp 2011-03-25 10:39:36 +0000 -@@ -123,6 +123,7 @@ - CV_CAP_MIL, - CV_CAP_QT, - CV_CAP_UNICAP, -+ CV_CAP_UCA, - -1 - }; - -@@ -142,7 +143,7 @@ - defined(HAVE_CAMV4L) || defined (HAVE_CAMV4L2) || defined(HAVE_GSTREAMER) || \ - defined(HAVE_DC1394_2) || defined(HAVE_DC1394) || defined(HAVE_CMU1394) || \ - defined(HAVE_GSTREAMER) || defined(HAVE_MIL) || defined(HAVE_QUICKTIME) || \ -- defined(HAVE_UNICAP) || defined(HAVE_PVAPI) -+ defined(HAVE_UNICAP) || defined(HAVE_PVAPI) || defined(HAVE_UCA) - // local variable to memorize the captured device - CvCapture *capture; - #endif -@@ -168,7 +169,7 @@ - case CV_CAP_VFW: - #ifdef HAVE_VFW - capture = cvCreateCameraCapture_VFW (index); -- if (capture) -+ if (capture) - return capture; - #endif - #if defined (HAVE_CAMV4L) || defined (HAVE_CAMV4L2) -@@ -241,6 +242,14 @@ - return capture; - break; - #endif -+ -+ #ifdef HAVE_UCA -+ case CV_CAP_UCA: -+ capture = cvCreateCameraCapture_UCA (index); -+ if (capture) -+ return capture; -+ break; -+ #endif - - } - } - -=== added file 'modules/highgui/src/cap_uca.cpp' ---- modules/highgui/src/cap_uca.cpp 1970-01-01 00:00:00 +0000 -+++ modules/highgui/src/cap_uca.cpp 2011-03-25 11:31:07 +0000 -@@ -0,0 +1,234 @@ -+/*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) 2008, Nils Hasler, 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*/ -+ -+// Author: Matthias Vogelgesang <matthias.vogelgesang@kit.edu> -+// -+// Karlsruhe Institute of Technology (KIT) -+// Institute for Data Processing and Electronics -+// -+ -+ -+#include "precomp.hpp" -+#include <unistd.h> -+#include <string.h> -+#include <uca/uca.h> -+#include <uca/uca-cam.h> -+ -+#ifdef NDEBUG -+#define CV_WARN(message) -+#else -+#define CV_WARN(message) fprintf(stderr, "warning: %s (%s:%d)\n", message, __FILE__, __LINE__) -+#endif -+ -+static bool is_initialized = false; -+ -+class CvCapture_UCA : public CvCapture -+{ -+ public: -+ CvCapture_UCA() { init(); } -+ virtual ~CvCapture_UCA() { close(); } -+ -+ virtual bool open(int); -+ virtual void close(); -+ -+ virtual double getProperty(int); -+ virtual bool setProperty(int, double); -+ virtual bool grabFrame(); -+ virtual IplImage* retrieveFrame(int); -+ -+ protected: -+ void init(); -+ char *buffer; -+ IplImage *frame; -+ -+ private: -+ struct uca *uca_handle; -+ struct uca_camera *device; -+ int width; -+ int height; -+ int bit_depth; // in terms of IplImage structure -+ int pixel_size; -+}; -+ -+void CvCapture_UCA::init() -+{ -+ buffer = NULL; -+ frame = NULL; -+ width = 0; -+ height = 0; -+ bit_depth = 0; -+ pixel_size = 0; -+} -+ -+bool CvCapture_UCA::grabFrame() -+{ -+ if (!buffer) -+ return false; -+ -+ device->grab(device, buffer, NULL); -+ return true; -+} -+ -+IplImage * CvCapture_UCA::retrieveFrame(int) -+{ -+ if (!frame) -+ frame = cvCreateImage(cvSize(width, height), bit_depth, 1); -+ -+ memcpy (frame->imageData, buffer, width*height*pixel_size); -+ return frame; -+} -+ -+bool CvCapture_UCA::open(int index) -+{ -+ //CV_FUNCNAME("cvCaptureFromCAM_UCA"); -+ -+ __BEGIN__; -+ -+ if (!is_initialized) { -+ is_initialized = true; -+ } -+ -+ uca_handle = uca_init(NULL); -+ if (uca_handle == NULL) -+ return false; -+ -+ device = uca_handle->cameras; -+ -+ device->get_property(device, UCA_PROP_WIDTH, &width, 0); -+ device->get_property(device, UCA_PROP_HEIGHT, &height, 0); -+ -+ int bits = 0; -+ device->get_property(device, UCA_PROP_BITDEPTH, &bits, 0); -+ bit_depth = (bits == 8) ? IPL_DEPTH_8U : IPL_DEPTH_16U; -+ -+ pixel_size = (bits == 8) ? 1 : 2; -+ buffer = new char[width*height*pixel_size]; -+ uca_cam_alloc(device, 10); -+ -+ device->start_recording(device); -+ -+ __END__; -+ return true; -+} -+ -+void CvCapture_UCA::close() -+{ -+ if (device) -+ device->stop_recording(device); -+ if (uca_handle); -+ uca_destroy(uca_handle); -+ delete[] buffer; -+} -+ -+double CvCapture_UCA::getProperty( int propId ) -+{ -+ switch(propId) { -+ case CV_CAP_PROP_POS_MSEC: -+ case CV_CAP_PROP_POS_FRAMES: -+ case CV_CAP_PROP_POS_AVI_RATIO: -+ break; -+ case CV_CAP_PROP_FRAME_WIDTH: -+ return (double) width; -+ case CV_CAP_PROP_FRAME_HEIGHT: -+ return (double) height; -+ case CV_CAP_PROP_FPS: -+ case CV_CAP_PROP_FOURCC: -+ break; -+ case CV_CAP_PROP_FRAME_COUNT: -+ return (double) device->current_frame; -+ case CV_CAP_PROP_FORMAT: -+ case CV_CAP_PROP_MODE: -+ case CV_CAP_PROP_BRIGHTNESS: -+ case CV_CAP_PROP_CONTRAST: -+ case CV_CAP_PROP_SATURATION: -+ case CV_CAP_PROP_HUE: -+ case CV_CAP_PROP_GAIN: -+ case CV_CAP_PROP_CONVERT_RGB: -+ break; -+ default: -+ CV_WARN("UCA: unhandled property"); -+ break; -+ } -+ return false; -+} -+ -+bool CvCapture_UCA::setProperty( int propId, double value ) -+{ -+ switch(propId) { -+ case CV_CAP_PROP_POS_MSEC: -+ break; -+ case CV_CAP_PROP_POS_FRAMES: -+ break; -+ case CV_CAP_PROP_POS_AVI_RATIO: -+ break; -+ case CV_CAP_PROP_FRAME_WIDTH: -+ break; -+ case CV_CAP_PROP_FRAME_HEIGHT: -+ break; -+ case CV_CAP_PROP_FPS: -+ break; -+ case CV_CAP_PROP_FOURCC: -+ case CV_CAP_PROP_FRAME_COUNT: -+ case CV_CAP_PROP_FORMAT: -+ case CV_CAP_PROP_MODE: -+ case CV_CAP_PROP_BRIGHTNESS: -+ case CV_CAP_PROP_CONTRAST: -+ case CV_CAP_PROP_SATURATION: -+ case CV_CAP_PROP_HUE: -+ case CV_CAP_PROP_GAIN: -+ case CV_CAP_PROP_CONVERT_RGB: -+ break; -+ default: -+ CV_WARN("UCA: unhandled property"); -+ } -+ return false; -+} -+ -+CvCapture *cvCreateCameraCapture_UCA(int index) -+{ -+ CvCapture_UCA* capture = new CvCapture_UCA; -+ -+ if (capture->open(index)) -+ return capture; -+ -+ delete capture; -+ return false; -+} - -=== modified file 'modules/highgui/src/precomp.hpp' ---- modules/highgui/src/precomp.hpp 2011-03-24 16:43:57 +0000 -+++ modules/highgui/src/precomp.hpp 2011-03-25 09:29:34 +0000 -@@ -113,6 +113,7 @@ - CvCapture * cvCreateCameraCapture_DC1394_2( int index ); - CvCapture* cvCreateCameraCapture_MIL( int index ); - CvCapture * cvCreateCameraCapture_CMU( int index ); -+CvCapture * cvCreateCameraCapture_UCA( int index ); - CV_IMPL CvCapture * cvCreateCameraCapture_TYZX( int index ); - CvCapture* cvCreateFileCapture_Win32( const char* filename ); - CvCapture* cvCreateCameraCapture_VFW( int index ); - |