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
3c08f7a1
Commit
3c08f7a1
authored
Apr 11, 2012
by
Alexander Smorkalov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Patch #1789 access to Android camera settings applied.
parent
8b652861
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
143 additions
and
5 deletions
+143
-5
camera_wrapper.cpp
modules/androidcamera/camera_wrapper/camera_wrapper.cpp
+0
-0
camera_properties.h
modules/androidcamera/include/camera_properties.h
+58
-1
highgui_c.h
modules/highgui/include/opencv2/highgui/highgui_c.h
+49
-0
cap_android.cpp
modules/highgui/src/cap_android.cpp
+36
-4
No files found.
modules/androidcamera/camera_wrapper/camera_wrapper.cpp
View file @
3c08f7a1
This diff is collapsed.
Click to expand it.
modules/androidcamera/include/camera_properties.h
View file @
3c08f7a1
...
...
@@ -5,7 +5,64 @@ enum {
ANDROID_CAMERA_PROPERTY_FRAMEWIDTH
=
0
,
ANDROID_CAMERA_PROPERTY_FRAMEHEIGHT
=
1
,
ANDROID_CAMERA_PROPERTY_SUPPORTED_PREVIEW_SIZES_STRING
=
2
,
ANDROID_CAMERA_PROPERTY_PREVIEW_FORMAT_STRING
=
3
ANDROID_CAMERA_PROPERTY_PREVIEW_FORMAT_STRING
=
3
,
ANDROID_CAMERA_PROPERTY_FPS
=
4
,
ANDROID_CAMERA_PROPERTY_EXPOSURE
=
5
,
ANDROID_CAMERA_PROPERTY_FLASH_MODE
=
101
,
ANDROID_CAMERA_PROPERTY_FOCUS_MODE
=
102
,
ANDROID_CAMERA_PROPERTY_WHITE_BALANCE
=
103
,
ANDROID_CAMERA_PROPERTY_ANTIBANDING
=
104
,
ANDROID_CAMERA_PROPERTY_FOCAL_LENGTH
=
105
,
ANDROID_CAMERA_PROPERTY_FOCUS_DISTANCE_NEAR
=
106
,
ANDROID_CAMERA_PROPERTY_FOCUS_DISTANCE_OPTIMAL
=
107
,
ANDROID_CAMERA_PROPERTY_FOCUS_DISTANCE_FAR
=
108
};
enum
{
ANDROID_CAMERA_FLASH_MODE_AUTO
=
0
,
ANDROID_CAMERA_FLASH_MODE_OFF
,
ANDROID_CAMERA_FLASH_MODE_ON
,
ANDROID_CAMERA_FLASH_MODE_RED_EYE
,
ANDROID_CAMERA_FLASH_MODE_TORCH
,
ANDROID_CAMERA_FLASH_MODES_NUM
};
enum
{
ANDROID_CAMERA_FOCUS_MODE_AUTO
=
0
,
ANDROID_CAMERA_FOCUS_MODE_CONTINUOUS_PICTURE
,
ANDROID_CAMERA_FOCUS_MODE_CONTINUOUS_VIDEO
,
ANDROID_CAMERA_FOCUS_MODE_EDOF
,
ANDROID_CAMERA_FOCUS_MODE_FIXED
,
ANDROID_CAMERA_FOCUS_MODE_INFINITY
,
ANDROID_CAMERA_FOCUS_MODE_MACRO
,
ANDROID_CAMERA_FOCUS_MODES_NUM
};
enum
{
ANDROID_CAMERA_WHITE_BALANCE_AUTO
=
0
,
ANDROID_CAMERA_WHITE_BALANCE_CLOUDY_DAYLIGHT
,
ANDROID_CAMERA_WHITE_BALANCE_DAYLIGHT
,
ANDROID_CAMERA_WHITE_BALANCE_FLUORESCENT
,
ANDROID_CAMERA_WHITE_BALANCE_INCANDESCENT
,
ANDROID_CAMERA_WHITE_BALANCE_SHADE
,
ANDROID_CAMERA_WHITE_BALANCE_TWILIGHT
,
ANDROID_CAMERA_WHITE_BALANCE_WARM_FLUORESCENT
,
ANDROID_CAMERA_WHITE_BALANCE_MODES_NUM
};
enum
{
ANDROID_CAMERA_ANTIBANDING_50HZ
=
0
,
ANDROID_CAMERA_ANTIBANDING_60HZ
,
ANDROID_CAMERA_ANTIBANDING_AUTO
,
ANDROID_CAMERA_ANTIBANDING_OFF
,
ANDROID_CAMERA_ANTIBANDING_MODES_NUM
};
enum
{
ANDROID_CAMERA_FOCUS_DISTANCE_NEAR_INDEX
=
0
,
ANDROID_CAMERA_FOCUS_DISTANCE_OPTIMAL_INDEX
,
ANDROID_CAMERA_FOCUS_DISTANCE_FAR_INDEX
};
#endif // CAMERA_PROPERTIES_H
modules/highgui/include/opencv2/highgui/highgui_c.h
View file @
3c08f7a1
...
...
@@ -436,6 +436,16 @@ enum
CV_CAP_PROP_XI_AEAG_LEVEL
=
419
,
// Average intensity of output signal AEAG should achieve(in %)
CV_CAP_PROP_XI_TIMEOUT
=
420
,
// Image capture timeout in milliseconds
// Properties for Android cameras
CV_CAP_PROP_ANDROID_FLASH_MODE
=
8001
,
CV_CAP_PROP_ANDROID_FOCUS_MODE
=
8002
,
CV_CAP_PROP_ANDROID_WHITE_BALANCE
=
8003
,
CV_CAP_PROP_ANDROID_ANTIBANDING
=
8004
,
CV_CAP_PROP_ANDROID_FOCAL_LENGTH
=
8005
,
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_NEAR
=
8006
,
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_OPTIMAL
=
8007
,
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_FAR
=
8008
,
// Properties of cameras available through AVFOUNDATION interface
CV_CAP_PROP_IOS_DEVICE_FOCUS
=
9001
,
CV_CAP_PROP_IOS_DEVICE_EXPOSURE
=
9002
,
...
...
@@ -477,6 +487,45 @@ enum
CV_CAP_ANDROID_COLOR_FRAME_RGBA
=
4
};
// supported Android camera flash modes
enum
{
CV_CAP_ANDROID_FLASH_MODE_AUTO
=
0
,
CV_CAP_ANDROID_FLASH_MODE_OFF
,
CV_CAP_ANDROID_FLASH_MODE_ON
,
CV_CAP_ANDROID_FLASH_MODE_RED_EYE
,
CV_CAP_ANDROID_FLASH_MODE_TORCH
};
// supported Android camera focus modes
enum
{
CV_CAP_ANDROID_FOCUS_MODE_AUTO
=
0
,
CV_CAP_ANDROID_FOCUS_MODE_CONTINUOUS_VIDEO
,
CV_CAP_ANDROID_FOCUS_MODE_EDOF
,
CV_CAP_ANDROID_FOCUS_MODE_FIXED
,
CV_CAP_ANDROID_FOCUS_MODE_INFINITY
,
CV_CAP_ANDROID_FOCUS_MODE_MACRO
};
// supported Android camera white balance modes
enum
{
CV_CAP_ANDROID_WHITE_BALANCE_AUTO
=
0
,
CV_CAP_ANDROID_WHITE_BALANCE_CLOUDY_DAYLIGHT
,
CV_CAP_ANDROID_WHITE_BALANCE_DAYLIGHT
,
CV_CAP_ANDROID_WHITE_BALANCE_FLUORESCENT
,
CV_CAP_ANDROID_WHITE_BALANCE_INCANDESCENT
,
CV_CAP_ANDROID_WHITE_BALANCE_SHADE
,
CV_CAP_ANDROID_WHITE_BALANCE_TWILIGHT
,
CV_CAP_ANDROID_WHITE_BALANCE_WARM_FLUORESCENT
};
// supported Android camera antibanding modes
enum
{
CV_CAP_ANDROID_ANTIBANDING_50HZ
=
0
,
CV_CAP_ANDROID_ANTIBANDING_60HZ
,
CV_CAP_ANDROID_ANTIBANDING_AUTO
,
CV_CAP_ANDROID_ANTIBANDING_OFF
};
/* retrieve or set capture properties */
CVAPI
(
double
)
cvGetCaptureProperty
(
CvCapture
*
capture
,
int
property_id
);
CVAPI
(
int
)
cvSetCaptureProperty
(
CvCapture
*
capture
,
int
property_id
,
double
value
);
...
...
modules/highgui/src/cap_android.cpp
View file @
3c08f7a1
...
...
@@ -263,11 +263,30 @@ double CvCapture_Android::getProperty( int propIdx )
return
(
double
)
m_activity
->
getFrameWidth
();
case
CV_CAP_PROP_FRAME_HEIGHT
:
return
(
double
)
m_activity
->
getFrameHeight
();
case
CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_SUPPORTED_PREVIEW_SIZES_STRING
);
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_SUPPORTED_PREVIEW_SIZES_STRING
);
case
CV_CAP_PROP_PREVIEW_FORMAT
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_PREVIEW_FORMAT_STRING
);
case
CV_CAP_PROP_FPS
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_FPS
);
case
CV_CAP_PROP_EXPOSURE
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_EXPOSURE
);
case
CV_CAP_PROP_ANDROID_FLASH_MODE
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_FLASH_MODE
);
case
CV_CAP_PROP_ANDROID_FOCUS_MODE
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_FOCUS_MODE
);
case
CV_CAP_PROP_ANDROID_WHITE_BALANCE
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_WHITE_BALANCE
);
case
CV_CAP_PROP_ANDROID_ANTIBANDING
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_ANTIBANDING
);
case
CV_CAP_PROP_ANDROID_FOCAL_LENGTH
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_FOCAL_LENGTH
);
case
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_NEAR
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_FOCUS_DISTANCE_NEAR
);
case
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_OPTIMAL
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_FOCUS_DISTANCE_OPTIMAL
);
case
CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_FAR
:
return
(
double
)
m_activity
->
getProperty
(
ANDROID_CAMERA_PROPERTY_FOCUS_DISTANCE_FAR
);
default
:
CV_Error
(
CV_StsOutOfRange
,
"Failed attempt to GET unsupported camera property."
);
break
;
...
...
@@ -288,11 +307,24 @@ bool CvCapture_Android::setProperty( int propIdx, double propValue )
case
CV_CAP_PROP_FRAME_HEIGHT
:
m_activity
->
setProperty
(
ANDROID_CAMERA_PROPERTY_FRAMEHEIGHT
,
propValue
);
break
;
case
CV_CAP_PROP_AUTOGRAB
:
m_shouldAutoGrab
=
(
propValue
!=
0
);
break
;
case
CV_CAP_PROP_EXPOSURE
:
m_activity
->
setProperty
(
ANDROID_CAMERA_PROPERTY_EXPOSURE
,
propValue
);
break
;
case
CV_CAP_PROP_ANDROID_FLASH_MODE
:
m_activity
->
setProperty
(
ANDROID_CAMERA_PROPERTY_FLASH_MODE
,
propValue
);
break
;
case
CV_CAP_PROP_ANDROID_FOCUS_MODE
:
m_activity
->
setProperty
(
ANDROID_CAMERA_PROPERTY_FOCUS_MODE
,
propValue
);
break
;
case
CV_CAP_PROP_ANDROID_WHITE_BALANCE
:
m_activity
->
setProperty
(
ANDROID_CAMERA_PROPERTY_WHITE_BALANCE
,
propValue
);
break
;
case
CV_CAP_PROP_ANDROID_ANTIBANDING
:
m_activity
->
setProperty
(
ANDROID_CAMERA_PROPERTY_ANTIBANDING
,
propValue
);
break
;
default
:
CV_Error
(
CV_StsOutOfRange
,
"Failed attempt to SET unsupported camera property."
);
return
false
;
...
...
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