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
677443f3
Commit
677443f3
authored
Nov 30, 2012
by
Andrey Kamaev
Committed by
OpenCV Buildbot
Nov 30, 2012
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #191 from asmorkalov:custom_cam_init
parents
bbfccb61
d36f8b9e
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
295 additions
and
0 deletions
+295
-0
CMakeLists.txt
samples/android/CMakeLists.txt
+1
-0
.classpath
samples/android/tutorial-5-cameracontrol/.classpath
+8
-0
.project
samples/android/tutorial-5-cameracontrol/.project
+33
-0
org.eclipse.jdt.core.prefs
...rial-5-cameracontrol/.settings/org.eclipse.jdt.core.prefs
+4
-0
AndroidManifest.xml
samples/android/tutorial-5-cameracontrol/AndroidManifest.xml
+39
-0
CMakeLists.txt
samples/android/tutorial-5-cameracontrol/CMakeLists.txt
+7
-0
icon.png
...es/android/tutorial-5-cameracontrol/res/drawable/icon.png
+0
-0
tutorial5_surface_view.xml
...ial-5-cameracontrol/res/layout/tutorial5_surface_view.xml
+12
-0
strings.xml
...s/android/tutorial-5-cameracontrol/res/values/strings.xml
+4
-0
Sample5CameraControl.java
...rc/org/opencv/samples/tutorial5/Sample5CameraControl.java
+127
-0
SampleJavaCameraView.java
...rc/org/opencv/samples/tutorial5/SampleJavaCameraView.java
+60
-0
No files found.
samples/android/CMakeLists.txt
View file @
677443f3
...
...
@@ -16,6 +16,7 @@ add_subdirectory(tutorial-1-addopencv)
add_subdirectory
(
tutorial-2-opencvcamera
)
add_subdirectory
(
tutorial-3-native
)
add_subdirectory
(
tutorial-4-mixed
)
add_subdirectory
(
tutorial-5-cameracontrol
)
#hello-android sample
if
(
HAVE_opencv_highgui
)
...
...
samples/android/tutorial-5-cameracontrol/.classpath
0 → 100644
View file @
677443f3
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry
kind=
"con"
path=
"com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"
/>
<classpathentry
kind=
"con"
path=
"com.android.ide.eclipse.adt.LIBRARIES"
/>
<classpathentry
kind=
"src"
path=
"src"
/>
<classpathentry
kind=
"src"
path=
"gen"
/>
<classpathentry
kind=
"output"
path=
"bin/classes"
/>
</classpath>
samples/android/tutorial-5-cameracontrol/.project
0 → 100644
View file @
677443f3
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
OpenCV Tutorial 5 - Camera Control
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
com.android.ide.eclipse.adt.ResourceManagerBuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
com.android.ide.eclipse.adt.PreCompilerBuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.jdt.core.javabuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
com.android.ide.eclipse.adt.ApkBuilder
</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
com.android.ide.eclipse.adt.AndroidNature
</nature>
<nature>
org.eclipse.jdt.core.javanature
</nature>
</natures>
</projectDescription>
samples/android/tutorial-5-cameracontrol/.settings/org.eclipse.jdt.core.prefs
0 → 100644
View file @
677443f3
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.source=1.6
samples/android/tutorial-5-cameracontrol/AndroidManifest.xml
0 → 100644
View file @
677443f3
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"org.opencv.samples.tutorial5"
android:versionCode=
"21"
android:versionName=
"2.1"
>
<application
android:label=
"@string/app_name"
android:icon=
"@drawable/icon"
android:theme=
"@android:style/Theme.NoTitleBar.Fullscreen"
>
<activity
android:name=
"Sample5CameraControl"
android:label=
"@string/app_name"
android:screenOrientation=
"landscape"
android:configChanges=
"keyboardHidden|orientation"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
<supports-screens
android:resizeable=
"true"
android:smallScreens=
"true"
android:normalScreens=
"true"
android:largeScreens=
"true"
android:anyDensity=
"true"
/>
<uses-sdk
android:minSdkVersion=
"8"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<uses-feature
android:name=
"android.hardware.camera"
android:required=
"false"
/>
<uses-feature
android:name=
"android.hardware.camera.autofocus"
android:required=
"false"
/>
<uses-feature
android:name=
"android.hardware.camera.front"
android:required=
"false"
/>
<uses-feature
android:name=
"android.hardware.camera.front.autofocus"
android:required=
"false"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
</manifest>
samples/android/tutorial-5-cameracontrol/CMakeLists.txt
0 → 100644
View file @
677443f3
set
(
sample example-tutorial-5-cameracontrol
)
add_android_project
(
${
sample
}
"
${
CMAKE_CURRENT_SOURCE_DIR
}
"
LIBRARY_DEPS
${
OpenCV_BINARY_DIR
}
SDK_TARGET 11
${
ANDROID_SDK_TARGET
}
)
if
(
TARGET
${
sample
}
)
add_dependencies
(
opencv_android_examples
${
sample
}
)
endif
()
samples/android/tutorial-5-cameracontrol/res/drawable/icon.png
0 → 100644
View file @
677443f3
1.95 KB
samples/android/tutorial-5-cameracontrol/res/layout/tutorial5_surface_view.xml
0 → 100644
View file @
677443f3
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<org.opencv.samples.tutorial5.SampleJavaCameraView
android:layout_width=
"fill_parent"
android:layout_height=
"fill_parent"
android:visibility=
"gone"
android:id=
"@+id/tutorial5_activity_java_surface_view"
/>
</LinearLayout>
samples/android/tutorial-5-cameracontrol/res/values/strings.xml
0 → 100644
View file @
677443f3
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
name=
"app_name"
>
OCV T5 Camera Control
</string>
</resources>
samples/android/tutorial-5-cameracontrol/src/org/opencv/samples/tutorial5/Sample5CameraControl.java
0 → 100644
View file @
677443f3
package
org
.
opencv
.
samples
.
tutorial5
;
import
java.util.List
;
import
java.util.ListIterator
;
import
org.opencv.android.BaseLoaderCallback
;
import
org.opencv.android.LoaderCallbackInterface
;
import
org.opencv.android.OpenCVLoader
;
import
org.opencv.core.Mat
;
import
org.opencv.android.CameraBridgeViewBase.CvCameraViewListener
;
import
android.app.Activity
;
import
android.os.Bundle
;
import
android.os.Environment
;
import
android.util.Log
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.MotionEvent
;
import
android.view.SurfaceView
;
import
android.view.View
;
import
android.view.View.OnTouchListener
;
import
android.view.WindowManager
;
public
class
Sample5CameraControl
extends
Activity
implements
CvCameraViewListener
,
OnTouchListener
{
private
static
final
String
TAG
=
"OCVSample::Activity"
;
private
SampleJavaCameraView
mOpenCvCameraView
;
private
MenuItem
[]
mEffectMenuItems
;
private
BaseLoaderCallback
mLoaderCallback
=
new
BaseLoaderCallback
(
this
)
{
@Override
public
void
onManagerConnected
(
int
status
)
{
switch
(
status
)
{
case
LoaderCallbackInterface
.
SUCCESS
:
{
Log
.
i
(
TAG
,
"OpenCV loaded successfully"
);
mOpenCvCameraView
.
enableView
();
mOpenCvCameraView
.
setOnTouchListener
(
Sample5CameraControl
.
this
);
}
break
;
default
:
{
super
.
onManagerConnected
(
status
);
}
break
;
}
}
};
public
Sample5CameraControl
()
{
Log
.
i
(
TAG
,
"Instantiated new "
+
this
.
getClass
());
}
/** Called when the activity is first created. */
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
Log
.
i
(
TAG
,
"called onCreate"
);
super
.
onCreate
(
savedInstanceState
);
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
setContentView
(
R
.
layout
.
tutorial5_surface_view
);
mOpenCvCameraView
=
(
SampleJavaCameraView
)
findViewById
(
R
.
id
.
tutorial5_activity_java_surface_view
);
mOpenCvCameraView
.
setVisibility
(
SurfaceView
.
VISIBLE
);
mOpenCvCameraView
.
setCvCameraViewListener
(
this
);
}
@Override
public
void
onPause
()
{
if
(
mOpenCvCameraView
!=
null
)
mOpenCvCameraView
.
disableView
();
super
.
onPause
();
}
@Override
public
void
onResume
()
{
super
.
onResume
();
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_3
,
this
,
mLoaderCallback
);
}
public
void
onDestroy
()
{
super
.
onDestroy
();
if
(
mOpenCvCameraView
!=
null
)
mOpenCvCameraView
.
disableView
();
}
public
void
onCameraViewStarted
(
int
width
,
int
height
)
{
}
public
void
onCameraViewStopped
()
{
}
public
Mat
onCameraFrame
(
Mat
inputFrame
)
{
return
inputFrame
;
}
@Override
public
boolean
onCreateOptionsMenu
(
Menu
menu
)
{
List
<
String
>
effects
=
mOpenCvCameraView
.
getEffectList
();
mEffectMenuItems
=
new
MenuItem
[
effects
.
size
()];
int
idx
=
0
;
ListIterator
<
String
>
itr
=
effects
.
listIterator
();
while
(
itr
.
hasNext
())
{
String
element
=
itr
.
next
();
mEffectMenuItems
[
idx
]
=
menu
.
add
(
element
);
idx
++;
}
return
true
;
}
public
boolean
onOptionsItemSelected
(
MenuItem
item
)
{
Log
.
i
(
TAG
,
"called onOptionsItemSelected; selected item: "
+
item
);
mOpenCvCameraView
.
setEffect
((
String
)
item
.
getTitle
());
return
true
;
}
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
Log
.
i
(
TAG
,
"onTouch event"
);
mOpenCvCameraView
.
takePicture
(
Environment
.
getExternalStorageDirectory
().
getPath
()
+
"/sample_picture.jpg"
);
return
false
;
}
}
samples/android/tutorial-5-cameracontrol/src/org/opencv/samples/tutorial5/SampleJavaCameraView.java
0 → 100644
View file @
677443f3
package
org
.
opencv
.
samples
.
tutorial5
;
import
java.io.FileOutputStream
;
import
java.util.List
;
import
org.opencv.android.JavaCameraView
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.hardware.Camera
;
import
android.hardware.Camera.PictureCallback
;
import
android.util.AttributeSet
;
import
android.util.Log
;
public
class
SampleJavaCameraView
extends
JavaCameraView
{
private
static
final
String
TAG
=
"Sample::SampleJavaCameraView"
;
public
SampleJavaCameraView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
}
public
List
<
String
>
getEffectList
()
{
return
mCamera
.
getParameters
().
getSupportedColorEffects
();
}
public
String
getEffect
()
{
return
mCamera
.
getParameters
().
getColorEffect
();
}
public
void
setEffect
(
String
effect
)
{
Camera
.
Parameters
params
=
mCamera
.
getParameters
();
params
.
setColorEffect
(
effect
);
mCamera
.
setParameters
(
params
);
}
public
void
takePicture
(
final
String
fileName
)
{
Log
.
i
(
TAG
,
"Tacking picture"
);
PictureCallback
callback
=
new
PictureCallback
()
{
private
String
mPictureFileName
=
fileName
;
@Override
public
void
onPictureTaken
(
byte
[]
data
,
Camera
camera
)
{
Log
.
i
(
TAG
,
"Saving a bitmap to file"
);
Bitmap
picture
=
BitmapFactory
.
decodeByteArray
(
data
,
0
,
data
.
length
);
try
{
FileOutputStream
out
=
new
FileOutputStream
(
mPictureFileName
);
picture
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
90
,
out
);
mCamera
.
startPreview
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
};
mCamera
.
takePicture
(
null
,
null
,
callback
);
}
}
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