Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
722dedb0
Commit
722dedb0
authored
Dec 05, 2012
by
cuda-geek
Committed by
OpenCV Buildbot
Dec 05, 2012
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #201 from taka-no-me:drop_unsupported_highgui
parents
e10ee89e
ae5649d3
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1 addition
and
982 deletions
+1
-982
CMakeLists.txt
CMakeLists.txt
+0
-6
OpenCVFindLibsVideo.cmake
cmake/OpenCVFindLibsVideo.cmake
+0
-13
cvconfig.h.cmake
cmake/templates/cvconfig.h.cmake
+0
-3
CMakeLists.txt
modules/highgui/CMakeLists.txt
+0
-15
highgui_c.h
modules/highgui/include/opencv2/highgui/highgui_c.h
+1
-12
cap.cpp
modules/highgui/src/cap.cpp
+0
-12
cap_mil.cpp
modules/highgui/src/cap_mil.cpp
+0
-219
cap_tyzx.cpp
modules/highgui/src/cap_tyzx.cpp
+0
-230
grfmt_imageio.cpp
modules/highgui/src/grfmt_imageio.cpp
+0
-396
grfmt_imageio.hpp
modules/highgui/src/grfmt_imageio.hpp
+0
-67
grfmts.hpp
modules/highgui/src/grfmts.hpp
+0
-1
loadsave.cpp
modules/highgui/src/loadsave.cpp
+0
-6
precomp.hpp
modules/highgui/src/precomp.hpp
+0
-1
test_precomp.hpp
modules/highgui/test/test_precomp.hpp
+0
-1
No files found.
CMakeLists.txt
View file @
722dedb0
...
@@ -120,7 +120,6 @@ OCV_OPTION(WITH_EIGEN "Include Eigen2/Eigen3 support" ON)
...
@@ -120,7 +120,6 @@ OCV_OPTION(WITH_EIGEN "Include Eigen2/Eigen3 support" ON)
OCV_OPTION
(
WITH_FFMPEG
"Include FFMPEG support"
ON
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_FFMPEG
"Include FFMPEG support"
ON
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_GSTREAMER
"Include Gstreamer support"
ON
IF
(
UNIX AND NOT APPLE AND NOT ANDROID
)
)
OCV_OPTION
(
WITH_GSTREAMER
"Include Gstreamer support"
ON
IF
(
UNIX AND NOT APPLE AND NOT ANDROID
)
)
OCV_OPTION
(
WITH_GTK
"Include GTK support"
ON
IF
(
UNIX AND NOT APPLE AND NOT ANDROID
)
)
OCV_OPTION
(
WITH_GTK
"Include GTK support"
ON
IF
(
UNIX AND NOT APPLE AND NOT ANDROID
)
)
OCV_OPTION
(
WITH_IMAGEIO
"ImageIO support for OS X"
OFF IF APPLE
)
OCV_OPTION
(
WITH_IPP
"Include Intel IPP support"
OFF
IF
(
MSVC OR X86 OR X86_64
)
)
OCV_OPTION
(
WITH_IPP
"Include Intel IPP support"
OFF
IF
(
MSVC OR X86 OR X86_64
)
)
OCV_OPTION
(
WITH_JASPER
"Include JPEG2K support"
ON
IF
(
NOT IOS
)
)
OCV_OPTION
(
WITH_JASPER
"Include JPEG2K support"
ON
IF
(
NOT IOS
)
)
OCV_OPTION
(
WITH_JPEG
"Include JPEG support"
ON
IF
(
NOT IOS
)
)
OCV_OPTION
(
WITH_JPEG
"Include JPEG support"
ON
IF
(
NOT IOS
)
)
...
@@ -129,7 +128,6 @@ OCV_OPTION(WITH_OPENGL "Include OpenGL support" OFF
...
@@ -129,7 +128,6 @@ OCV_OPTION(WITH_OPENGL "Include OpenGL support" OFF
OCV_OPTION
(
WITH_OPENNI
"Include OpenNI support"
OFF
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_OPENNI
"Include OpenNI support"
OFF
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_PNG
"Include PNG support"
ON
IF
(
NOT IOS
)
)
OCV_OPTION
(
WITH_PNG
"Include PNG support"
ON
IF
(
NOT IOS
)
)
OCV_OPTION
(
WITH_PVAPI
"Include Prosilica GigE support"
ON
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_PVAPI
"Include Prosilica GigE support"
ON
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_GIGEAPI
"Include Smartek GigE support"
ON
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_QT
"Build with Qt Backend support"
OFF
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_QT
"Build with Qt Backend support"
OFF
IF
(
NOT ANDROID AND NOT IOS
)
)
OCV_OPTION
(
WITH_QUICKTIME
"Use QuickTime for Video I/O insted of QTKit"
OFF IF APPLE
)
OCV_OPTION
(
WITH_QUICKTIME
"Use QuickTime for Video I/O insted of QTKit"
OFF IF APPLE
)
OCV_OPTION
(
WITH_TBB
"Include Intel TBB support"
OFF
IF
(
NOT IOS
)
)
OCV_OPTION
(
WITH_TBB
"Include Intel TBB support"
OFF
IF
(
NOT IOS
)
)
...
@@ -698,10 +696,6 @@ if(DEFINED WITH_PVAPI)
...
@@ -698,10 +696,6 @@ if(DEFINED WITH_PVAPI)
status
(
" PvAPI:"
HAVE_PVAPI THEN YES ELSE NO
)
status
(
" PvAPI:"
HAVE_PVAPI THEN YES ELSE NO
)
endif
(
DEFINED WITH_PVAPI
)
endif
(
DEFINED WITH_PVAPI
)
if
(
DEFINED WITH_GIGEAPI
)
status
(
" GigEVisionSDK:"
HAVE_GIGE_API THEN YES ELSE NO
)
endif
(
DEFINED WITH_GIGEAPI
)
if
(
DEFINED WITH_QUICKTIME
)
if
(
DEFINED WITH_QUICKTIME
)
status
(
" QuickTime:"
WITH_QUICKTIME THEN YES ELSE NO
)
status
(
" QuickTime:"
WITH_QUICKTIME THEN YES ELSE NO
)
status
(
" QTKit:"
WITH_QUICKTIME THEN NO ELSE YES
)
status
(
" QTKit:"
WITH_QUICKTIME THEN NO ELSE YES
)
...
...
cmake/OpenCVFindLibsVideo.cmake
View file @
722dedb0
...
@@ -56,19 +56,6 @@ if(WITH_PVAPI)
...
@@ -56,19 +56,6 @@ if(WITH_PVAPI)
endif
(
PVAPI_INCLUDE_PATH
)
endif
(
PVAPI_INCLUDE_PATH
)
endif
(
WITH_PVAPI
)
endif
(
WITH_PVAPI
)
# --- GigEVisionSDK ---
ocv_clear_vars
(
HAVE_GIGE_API
)
if
(
WITH_GIGEAPI
)
find_path
(
GIGEAPI_INCLUDE_PATH
"GigEVisionSDK.h"
PATHS /usr/local /var /opt /usr ENV ProgramFiles ENV ProgramW6432
PATH_SUFFIXES include
"Smartek Vision Technologies/GigEVisionSDK/gige_cpp"
"GigEVisionSDK/gige_cpp"
"GigEVisionSDK/gige_c"
DOC
"The path to Smartek GigEVisionSDK header"
)
FIND_LIBRARY
(
GIGEAPI_LIBRARIES NAMES GigEVisionSDK
)
if
(
GIGEAPI_LIBRARIES AND GIGEAPI_INCLUDE_PATH
)
set
(
HAVE_GIGE_API TRUE
)
endif
()
endif
(
WITH_GIGEAPI
)
# --- Dc1394 ---
# --- Dc1394 ---
ocv_clear_vars
(
HAVE_DC1394 HAVE_DC1394_2
)
ocv_clear_vars
(
HAVE_DC1394 HAVE_DC1394_2
)
if
(
WITH_1394
)
if
(
WITH_1394
)
...
...
cmake/templates/cvconfig.h.cmake
View file @
722dedb0
...
@@ -58,9 +58,6 @@
...
@@ -58,9 +58,6 @@
/* OpenEXR codec */
/* OpenEXR codec */
#cmakedefine HAVE_ILMIMF
#cmakedefine HAVE_ILMIMF
/* Apple ImageIO Framework */
#cmakedefine HAVE_IMAGEIO
/* Define to 1 if you have the <inttypes.h> header file. */
/* Define to 1 if you have the <inttypes.h> header file. */
#cmakedefine HAVE_INTTYPES_H 1
#cmakedefine HAVE_INTTYPES_H 1
...
...
modules/highgui/CMakeLists.txt
View file @
722dedb0
...
@@ -171,21 +171,6 @@ if(HAVE_PVAPI)
...
@@ -171,21 +171,6 @@ if(HAVE_PVAPI)
list
(
APPEND HIGHGUI_LIBRARIES
${
PVAPI_LIBRARY
}
)
list
(
APPEND HIGHGUI_LIBRARIES
${
PVAPI_LIBRARY
}
)
endif
()
endif
()
if
(
HAVE_GIGE_API
)
add_definitions
(
-DHAVE_GIGE_API
)
ocv_include_directories
(
${
GIGEAPI_INCLUDE_PATH
}
)
set
(
highgui_srcs src/cap_giganetix.cpp
${
highgui_srcs
}
)
list
(
APPEND HIGHGUI_LIBRARIES
${
GIGEAPI_LIBRARIES
}
)
list
(
APPEND highgui_srcs src/cap_giganetix.cpp
)
endif
(
HAVE_GIGE_API
)
if
(
WITH_IMAGEIO
)
add_definitions
(
-DHAVE_IMAGEIO=1
)
if
(
IOS
)
list
(
APPEND HIGHGUI_LIBRARIES
"-framework ImageIO"
)
endif
()
endif
(
WITH_IMAGEIO
)
if
(
WITH_AVFOUNDATION
)
if
(
WITH_AVFOUNDATION
)
add_definitions
(
-DHAVE_AVFOUNDATION=1
)
add_definitions
(
-DHAVE_AVFOUNDATION=1
)
list
(
APPEND highgui_srcs src/cap_avfoundation.mm
)
list
(
APPEND highgui_srcs src/cap_avfoundation.mm
)
...
...
modules/highgui/include/opencv2/highgui/highgui_c.h
View file @
722dedb0
...
@@ -307,9 +307,7 @@ enum
...
@@ -307,9 +307,7 @@ enum
CV_CAP_XIAPI
=
1100
,
// XIMEA Camera API
CV_CAP_XIAPI
=
1100
,
// XIMEA Camera API
CV_CAP_AVFOUNDATION
=
1200
,
// AVFoundation framework for iOS (OS X Lion will have the same API)
CV_CAP_AVFOUNDATION
=
1200
// AVFoundation framework for iOS (OS X Lion will have the same API)
CV_CAP_GIGANETIX
=
1300
// Smartek Giganetix GigEVisionSDK
};
};
/* start capturing frames from camera: index = camera_index + domain_offset (CV_CAP_*) */
/* start capturing frames from camera: index = camera_index + domain_offset (CV_CAP_*) */
...
@@ -456,15 +454,6 @@ enum
...
@@ -456,15 +454,6 @@ enum
CV_CAP_PROP_IOS_DEVICE_FLASH
=
9003
,
CV_CAP_PROP_IOS_DEVICE_FLASH
=
9003
,
CV_CAP_PROP_IOS_DEVICE_WHITEBALANCE
=
9004
,
CV_CAP_PROP_IOS_DEVICE_WHITEBALANCE
=
9004
,
CV_CAP_PROP_IOS_DEVICE_TORCH
=
9005
CV_CAP_PROP_IOS_DEVICE_TORCH
=
9005
// Properties of cameras available through Smartek Giganetix Ethernet Vision interface
/* --- Vladimir Litvinenko (litvinenko.vladimir@gmail.com) --- */
,
CV_CAP_PROP_GIGA_FRAME_OFFSET_X
=
10001
,
CV_CAP_PROP_GIGA_FRAME_OFFSET_Y
=
10002
,
CV_CAP_PROP_GIGA_FRAME_WIDTH_MAX
=
10003
,
CV_CAP_PROP_GIGA_FRAME_HEIGH_MAX
=
10004
,
CV_CAP_PROP_GIGA_FRAME_SENS_WIDTH
=
10005
,
CV_CAP_PROP_GIGA_FRAME_SENS_HEIGH
=
10006
};
};
enum
enum
...
...
modules/highgui/src/cap.cpp
View file @
722dedb0
...
@@ -149,9 +149,6 @@ CV_IMPL CvCapture * cvCreateCameraCapture (int index)
...
@@ -149,9 +149,6 @@ CV_IMPL CvCapture * cvCreateCameraCapture (int index)
#endif
#endif
#ifdef HAVE_AVFOUNDATION
#ifdef HAVE_AVFOUNDATION
CV_CAP_AVFOUNDATION
,
CV_CAP_AVFOUNDATION
,
#endif
#ifdef HAVE_GIGE_API
CV_CAP_GIGANETIX
,
#endif
#endif
-
1
-
1
};
};
...
@@ -185,7 +182,6 @@ CV_IMPL CvCapture * cvCreateCameraCapture (int index)
...
@@ -185,7 +182,6 @@ CV_IMPL CvCapture * cvCreateCameraCapture (int index)
defined(HAVE_XIMEA) || \
defined(HAVE_XIMEA) || \
defined(HAVE_AVFOUNDATION) || \
defined(HAVE_AVFOUNDATION) || \
defined(HAVE_ANDROID_NATIVE_CAMERA) || \
defined(HAVE_ANDROID_NATIVE_CAMERA) || \
defined(HAVE_GIGE_API) || \
(0)
(0)
// local variable to memorize the captured device
// local variable to memorize the captured device
CvCapture
*
capture
;
CvCapture
*
capture
;
...
@@ -322,14 +318,6 @@ CV_IMPL CvCapture * cvCreateCameraCapture (int index)
...
@@ -322,14 +318,6 @@ CV_IMPL CvCapture * cvCreateCameraCapture (int index)
return
capture
;
return
capture
;
break
;
break
;
#endif
#endif
#ifdef HAVE_GIGE_API
case
CV_CAP_GIGANETIX
:
capture
=
cvCreateCameraCapture_Giganetix
(
index
);
if
(
capture
)
return
capture
;
break
;
// CV_CAP_GIGANETIX
#endif
}
}
}
}
...
...
modules/highgui/src/cap_mil.cpp
deleted
100644 → 0
View file @
e10ee89e
/*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
;
}
modules/highgui/src/cap_tyzx.cpp
deleted
100644 → 0
View file @
e10ee89e
/*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
;
}
modules/highgui/src/grfmt_imageio.cpp
deleted
100644 → 0
View file @
e10ee89e
/*
* grfmt_imageio.cpp
*
*
* Created by Morgan Conbere on 5/17/07.
*
*/
#include "precomp.hpp"
#ifdef HAVE_IMAGEIO
#include "grfmt_imageio.hpp"
namespace
cv
{
/////////////////////// ImageIODecoder ///////////////////
ImageIODecoder
::
ImageIODecoder
()
{
imageRef
=
NULL
;
}
ImageIODecoder
::~
ImageIODecoder
()
{
close
();
}
void
ImageIODecoder
::
close
()
{
CGImageRelease
(
imageRef
);
imageRef
=
NULL
;
}
size_t
ImageIODecoder
::
signatureLength
()
const
{
return
12
;
}
bool
ImageIODecoder
::
checkSignature
(
const
string
&
signature
)
const
{
// TODO: implement real signature check
return
true
;
}
ImageDecoder
ImageIODecoder
::
newDecoder
()
const
{
return
new
ImageIODecoder
;
}
bool
ImageIODecoder
::
readHeader
()
{
CFURLRef
imageURLRef
;
CGImageSourceRef
sourceRef
;
// diciu, if ReadHeader is called twice in a row make sure to release the previously allocated imageRef
if
(
imageRef
!=
NULL
)
CGImageRelease
(
imageRef
);
imageRef
=
NULL
;
imageURLRef
=
CFURLCreateFromFileSystemRepresentation
(
NULL
,
(
const
UInt8
*
)
m_filename
.
c_str
(),
m_filename
.
size
(),
false
);
sourceRef
=
CGImageSourceCreateWithURL
(
imageURLRef
,
NULL
);
CFRelease
(
imageURLRef
);
if
(
!
sourceRef
)
return
false
;
imageRef
=
CGImageSourceCreateImageAtIndex
(
sourceRef
,
0
,
NULL
);
CFRelease
(
sourceRef
);
if
(
!
imageRef
)
return
false
;
m_width
=
CGImageGetWidth
(
imageRef
);
m_height
=
CGImageGetHeight
(
imageRef
);
CGColorSpaceRef
colorSpace
=
CGImageGetColorSpace
(
imageRef
);
if
(
!
colorSpace
)
return
false
;
m_type
=
CGColorSpaceGetNumberOfComponents
(
colorSpace
)
>
1
?
CV_8UC3
:
CV_8UC1
;
return
true
;
}
bool
ImageIODecoder
::
readData
(
Mat
&
img
)
{
uchar
*
data
=
img
.
data
;
int
step
=
img
.
step
;
bool
color
=
img
.
channels
()
>
1
;
int
bpp
;
// Bytes per pixel
int
bit_depth
=
8
;
// Get Height, Width, and color information
if
(
!
readHeader
()
)
return
false
;
CGContextRef
context
=
NULL
;
// The bitmap context
CGColorSpaceRef
colorSpace
=
NULL
;
uchar
*
bitmap
=
NULL
;
CGImageAlphaInfo
alphaInfo
;
// CoreGraphics will take care of converting to grayscale and back as long as the
// appropriate colorspace is set
if
(
color
==
CV_LOAD_IMAGE_GRAYSCALE
)
{
colorSpace
=
CGColorSpaceCreateDeviceGray
();
bpp
=
1
;
alphaInfo
=
kCGImageAlphaNone
;
}
else
if
(
color
==
CV_LOAD_IMAGE_COLOR
)
{
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
colorSpace
=
CGColorSpaceCreateDeviceRGB
();
#else
colorSpace
=
CGColorSpaceCreateWithName
(
kCGColorSpaceGenericRGBLinear
);
#endif
bpp
=
4
;
/* CG only has 8 and 32 bit color spaces, so we waste a byte */
alphaInfo
=
kCGImageAlphaNoneSkipLast
;
}
if
(
!
colorSpace
)
return
false
;
bitmap
=
(
uchar
*
)
malloc
(
bpp
*
m_height
*
m_width
);
if
(
!
bitmap
)
{
CGColorSpaceRelease
(
colorSpace
);
return
false
;
}
context
=
CGBitmapContextCreate
(
(
void
*
)
bitmap
,
m_width
,
/* width */
m_height
,
/* height */
bit_depth
,
/* bit depth */
bpp
*
m_width
,
/* bytes per row */
colorSpace
,
/* color space */
alphaInfo
);
CGColorSpaceRelease
(
colorSpace
);
if
(
!
context
)
{
free
(
bitmap
);
return
false
;
}
// Copy the image data into the bitmap region
CGRect
rect
=
{{
0
,
0
},{
m_width
,
m_height
}};
CGContextDrawImage
(
context
,
rect
,
imageRef
);
uchar
*
bitdata
=
(
uchar
*
)
CGBitmapContextGetData
(
context
);
if
(
!
bitdata
)
{
free
(
bitmap
);
CGContextRelease
(
context
);
return
false
;
}
// Move the bitmap (in RGB) into data (in BGR)
int
bitmapIndex
=
0
;
if
(
color
==
CV_LOAD_IMAGE_COLOR
)
{
uchar
*
base
=
data
;
for
(
int
y
=
0
;
y
<
m_height
;
y
++
)
{
uchar
*
line
=
base
+
y
*
step
;
for
(
int
x
=
0
;
x
<
m_width
;
x
++
)
{
// Blue channel
line
[
0
]
=
bitdata
[
bitmapIndex
+
2
];
// Green channel
line
[
1
]
=
bitdata
[
bitmapIndex
+
1
];
// Red channel
line
[
2
]
=
bitdata
[
bitmapIndex
+
0
];
line
+=
3
;
bitmapIndex
+=
bpp
;
}
}
}
else
if
(
color
==
CV_LOAD_IMAGE_GRAYSCALE
)
{
for
(
int
y
=
0
;
y
<
m_height
;
y
++
)
memcpy
(
data
+
y
*
step
,
bitmap
+
y
*
m_width
,
m_width
);
}
free
(
bitmap
);
CGContextRelease
(
context
);
return
true
;
}
/////////////////////// ImageIOEncoder ///////////////////
ImageIOEncoder
::
ImageIOEncoder
()
{
m_description
=
"Apple ImageIO (*.bmp;*.dib;*.exr;*.jpeg;*.jpg;*.jpe;*.jp2;*.pdf;*.png;*.tiff;*.tif)"
;
}
ImageIOEncoder
::~
ImageIOEncoder
()
{
}
ImageEncoder
ImageIOEncoder
::
newEncoder
()
const
{
return
new
ImageIOEncoder
;
}
static
CFStringRef
FilenameToUTI
(
const
char
*
filename
)
{
const
char
*
ext
=
filename
;
char
*
ext_buf
;
int
i
;
CFStringRef
imageUTI
=
NULL
;
for
(;;)
{
const
char
*
temp
=
strchr
(
ext
+
1
,
'.'
);
if
(
!
temp
)
break
;
ext
=
temp
;
}
if
(
!
ext
)
return
NULL
;
ext_buf
=
(
char
*
)
malloc
(
strlen
(
ext
)
+
1
);
for
(
i
=
0
;
ext
[
i
]
!=
'\0'
;
i
++
)
ext_buf
[
i
]
=
(
char
)
tolower
(
ext
[
i
]);
ext_buf
[
i
]
=
'\0'
;
ext
=
ext_buf
;
if
(
!
strcmp
(
ext
,
".bmp"
)
||
!
strcmp
(
ext
,
".dib"
)
)
imageUTI
=
CFSTR
(
"com.microsoft.bmp"
);
else
if
(
!
strcmp
(
ext
,
".exr"
)
)
imageUTI
=
CFSTR
(
"com.ilm.openexr-image"
);
else
if
(
!
strcmp
(
ext
,
".jpeg"
)
||
!
strcmp
(
ext
,
".jpg"
)
||
!
strcmp
(
ext
,
".jpe"
)
)
imageUTI
=
CFSTR
(
"public.jpeg"
);
else
if
(
!
strcmp
(
ext
,
".jp2"
)
)
imageUTI
=
CFSTR
(
"public.jpeg-2000"
);
else
if
(
!
strcmp
(
ext
,
".pdf"
)
)
imageUTI
=
CFSTR
(
"com.adobe.pdf"
);
else
if
(
!
strcmp
(
ext
,
".png"
)
)
imageUTI
=
CFSTR
(
"public.png"
);
else
if
(
!
strcmp
(
ext
,
".tiff"
)
||
!
strcmp
(
ext
,
".tif"
)
)
imageUTI
=
CFSTR
(
"public.tiff"
);
free
(
ext_buf
);
return
imageUTI
;
}
bool
ImageIOEncoder
::
write
(
const
Mat
&
img
,
const
vector
<
int
>&
params
)
{
int
width
=
img
.
cols
,
height
=
img
.
rows
;
int
_channels
=
img
.
channels
();
const
uchar
*
data
=
img
.
data
;
int
step
=
img
.
step
;
// Determine the appropriate UTI based on the filename extension
CFStringRef
imageUTI
=
FilenameToUTI
(
m_filename
.
c_str
()
);
// Determine the Bytes Per Pixel
int
bpp
=
(
_channels
==
1
)
?
1
:
4
;
// Write the data into a bitmap context
CGContextRef
context
;
CGColorSpaceRef
colorSpace
;
uchar
*
bitmapData
=
NULL
;
if
(
bpp
==
1
)
{
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
colorSpace
=
CGColorSpaceCreateDeviceGray
();
#else
colorSpace
=
CGColorSpaceCreateWithName
(
kCGColorSpaceGenericGray
);
#endif
}
else
if
(
bpp
==
4
)
{
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
colorSpace
=
CGColorSpaceCreateDeviceRGB
();
#else
colorSpace
=
CGColorSpaceCreateWithName
(
kCGColorSpaceGenericRGBLinear
);
#endif
}
if
(
!
colorSpace
)
return
false
;
bitmapData
=
(
uchar
*
)
malloc
(
bpp
*
height
*
width
);
if
(
!
bitmapData
)
{
CGColorSpaceRelease
(
colorSpace
);
return
false
;
}
context
=
CGBitmapContextCreate
(
bitmapData
,
width
,
height
,
8
,
bpp
*
width
,
colorSpace
,
(
bpp
==
1
)
?
kCGImageAlphaNone
:
kCGImageAlphaNoneSkipLast
);
CGColorSpaceRelease
(
colorSpace
);
if
(
!
context
)
{
free
(
bitmapData
);
return
false
;
}
// Copy pixel information from data into bitmapData
if
(
bpp
==
4
)
{
int
bitmapIndex
=
0
;
const
uchar
*
base
=
data
;
for
(
int
y
=
0
;
y
<
height
;
y
++
)
{
const
uchar
*
line
=
base
+
y
*
step
;
for
(
int
x
=
0
;
x
<
width
;
x
++
)
{
// Blue channel
bitmapData
[
bitmapIndex
+
2
]
=
line
[
0
];
// Green channel
bitmapData
[
bitmapIndex
+
1
]
=
line
[
1
];
// Red channel
bitmapData
[
bitmapIndex
+
0
]
=
line
[
2
];
line
+=
3
;
bitmapIndex
+=
bpp
;
}
}
}
else
if
(
bpp
==
1
)
{
for
(
int
y
=
0
;
y
<
height
;
y
++
)
memcpy
(
bitmapData
+
y
*
width
,
data
+
y
*
step
,
width
);
}
// Turn the bitmap context into an imageRef
CGImageRef
imageRef
=
CGBitmapContextCreateImage
(
context
);
CGContextRelease
(
context
);
if
(
!
imageRef
)
{
free
(
bitmapData
);
return
false
;
}
// Write the imageRef to a file based on the UTI
CFURLRef
imageURLRef
=
CFURLCreateFromFileSystemRepresentation
(
NULL
,
(
const
UInt8
*
)
m_filename
.
c_str
(),
m_filename
.
size
(),
false
);
if
(
!
imageURLRef
)
{
CGImageRelease
(
imageRef
);
free
(
bitmapData
);
return
false
;
}
CGImageDestinationRef
destRef
=
CGImageDestinationCreateWithURL
(
imageURLRef
,
imageUTI
,
1
,
NULL
);
CFRelease
(
imageURLRef
);
if
(
!
destRef
)
{
CGImageRelease
(
imageRef
);
free
(
bitmapData
);
fprintf
(
stderr
,
"!destRef
\n
"
);
return
false
;
}
CGImageDestinationAddImage
(
destRef
,
imageRef
,
NULL
);
if
(
!
CGImageDestinationFinalize
(
destRef
)
)
{
fprintf
(
stderr
,
"Finalize failed
\n
"
);
return
false
;
}
CFRelease
(
destRef
);
CGImageRelease
(
imageRef
);
free
(
bitmapData
);
return
true
;
}
}
#endif
/* HAVE_IMAGEIO */
modules/highgui/src/grfmt_imageio.hpp
deleted
100644 → 0
View file @
e10ee89e
/*
* grfmt_imageio.h
*
*
* Created by Morgan Conbere on 5/17/07.
*
*/
#ifndef _GRFMT_IMAGEIO_H_
#define _GRFMT_IMAGEIO_H_
#ifdef HAVE_IMAGEIO
#include "grfmt_base.hpp"
#include <TargetConditionals.h>
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
#include <MobileCoreServices/MobileCoreServices.h>
#include <ImageIO/ImageIO.h>
#else
#include <ApplicationServices/ApplicationServices.h>
#endif
namespace
cv
{
class
ImageIODecoder
:
public
BaseImageDecoder
{
public
:
ImageIODecoder
();
~
ImageIODecoder
();
bool
readData
(
Mat
&
img
);
bool
readHeader
();
void
close
();
size_t
signatureLength
()
const
;
bool
checkSignature
(
const
string
&
signature
)
const
;
ImageDecoder
newDecoder
()
const
;
protected
:
CGImageRef
imageRef
;
};
class
ImageIOEncoder
:
public
BaseImageEncoder
{
public
:
ImageIOEncoder
();
~
ImageIOEncoder
();
bool
write
(
const
Mat
&
img
,
const
vector
<
int
>&
params
);
ImageEncoder
newEncoder
()
const
;
};
}
#endif
/*HAVE_IMAGEIO*/
#endif
/*_GRFMT_IMAGEIO_H_*/
modules/highgui/src/grfmts.hpp
View file @
722dedb0
...
@@ -43,7 +43,6 @@
...
@@ -43,7 +43,6 @@
#define _GRFMTS_H_
#define _GRFMTS_H_
#include "grfmt_base.hpp"
#include "grfmt_base.hpp"
#include "grfmt_imageio.hpp"
#include "grfmt_bmp.hpp"
#include "grfmt_bmp.hpp"
#include "grfmt_sunras.hpp"
#include "grfmt_sunras.hpp"
#include "grfmt_jpeg.hpp"
#include "grfmt_jpeg.hpp"
...
...
modules/highgui/src/loadsave.cpp
View file @
722dedb0
...
@@ -84,12 +84,6 @@ struct ImageCodecInitializer
...
@@ -84,12 +84,6 @@ struct ImageCodecInitializer
decoders
.
push_back
(
new
ExrDecoder
);
decoders
.
push_back
(
new
ExrDecoder
);
encoders
.
push_back
(
new
ExrEncoder
);
encoders
.
push_back
(
new
ExrEncoder
);
#endif
#endif
// because it is a generic image I/O API, supporting many formats,
// it should be last in the list.
#ifdef HAVE_IMAGEIO
decoders
.
push_back
(
new
ImageIODecoder
);
encoders
.
push_back
(
new
ImageIOEncoder
);
#endif
}
}
vector
<
ImageDecoder
>
decoders
;
vector
<
ImageDecoder
>
decoders
;
...
...
modules/highgui/src/precomp.hpp
View file @
722dedb0
...
@@ -115,7 +115,6 @@ CvCapture * cvCreateCameraCapture_V4L( int index );
...
@@ -115,7 +115,6 @@ CvCapture * cvCreateCameraCapture_V4L( int index );
CvCapture
*
cvCreateCameraCapture_DC1394
(
int
index
);
CvCapture
*
cvCreateCameraCapture_DC1394
(
int
index
);
CvCapture
*
cvCreateCameraCapture_DC1394_2
(
int
index
);
CvCapture
*
cvCreateCameraCapture_DC1394_2
(
int
index
);
CvCapture
*
cvCreateCameraCapture_MIL
(
int
index
);
CvCapture
*
cvCreateCameraCapture_MIL
(
int
index
);
CvCapture
*
cvCreateCameraCapture_Giganetix
(
int
index
);
CvCapture
*
cvCreateCameraCapture_CMU
(
int
index
);
CvCapture
*
cvCreateCameraCapture_CMU
(
int
index
);
CV_IMPL
CvCapture
*
cvCreateCameraCapture_TYZX
(
int
index
);
CV_IMPL
CvCapture
*
cvCreateCameraCapture_TYZX
(
int
index
);
CvCapture
*
cvCreateFileCapture_Win32
(
const
char
*
filename
);
CvCapture
*
cvCreateFileCapture_Win32
(
const
char
*
filename
);
...
...
modules/highgui/test/test_precomp.hpp
View file @
722dedb0
...
@@ -34,7 +34,6 @@
...
@@ -34,7 +34,6 @@
defined(HAVE_OPENNI) || \
defined(HAVE_OPENNI) || \
defined(HAVE_XIMEA) || \
defined(HAVE_XIMEA) || \
defined(HAVE_AVFOUNDATION) || \
defined(HAVE_AVFOUNDATION) || \
defined(HAVE_GIGE_API) || \
(0)
(0)
//defined(HAVE_ANDROID_NATIVE_CAMERA) || - enable after #1193
//defined(HAVE_ANDROID_NATIVE_CAMERA) || - enable after #1193
# define BUILD_WITH_CAMERA_SUPPORT 1
# define BUILD_WITH_CAMERA_SUPPORT 1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment