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
a4235948
Commit
a4235948
authored
Aug 22, 2012
by
Andrey Kamaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix Andoid samples: black screen after resume problem
parent
d849f510
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
135 additions
and
249 deletions
+135
-249
SampleCvViewBase.java
...zle/src/org/opencv/samples/puzzle15/SampleCvViewBase.java
+2
-3
puzzle15Activity.java
...zle/src/org/opencv/samples/puzzle15/puzzle15Activity.java
+11
-22
puzzle15View.java
...-puzzle/src/org/opencv/samples/puzzle15/puzzle15View.java
+17
-7
ColorBlobDetectionActivity.java
...v/samples/colorblobdetect/ColorBlobDetectionActivity.java
+11
-21
ColorBlobDetectionView.java
...pencv/samples/colorblobdetect/ColorBlobDetectionView.java
+5
-11
ColorBlobDetector.java
...org/opencv/samples/colorblobdetect/ColorBlobDetector.java
+11
-23
SampleCvViewBase.java
.../org/opencv/samples/colorblobdetect/SampleCvViewBase.java
+1
-2
Android.mk
samples/android/face-detection/jni/Android.mk
+0
-0
DetectionBasedTracker_jni.cpp
.../android/face-detection/jni/DetectionBasedTracker_jni.cpp
+0
-1
DetectionBasedTracker_jni.h
...es/android/face-detection/jni/DetectionBasedTracker_jni.h
+0
-0
DetectionBasedTracker.java
...tion/src/org/opencv/samples/fd/DetectionBasedTracker.java
+7
-14
FdActivity.java
.../face-detection/src/org/opencv/samples/fd/FdActivity.java
+11
-25
FdView.java
...roid/face-detection/src/org/opencv/samples/fd/FdView.java
+13
-24
SampleCvViewBase.java
...detection/src/org/opencv/samples/fd/SampleCvViewBase.java
+1
-2
ImageManipulationsActivity.java
...amples/imagemanipulations/ImageManipulationsActivity.java
+8
-18
ImageManipulationsView.java
...cv/samples/imagemanipulations/ImageManipulationsView.java
+0
-0
SampleCvViewBase.java
...g/opencv/samples/imagemanipulations/SampleCvViewBase.java
+1
-2
Sample0Base.java
...dcamera/src/org/opencv/samples/tutorial0/Sample0Base.java
+0
-0
Sample0View.java
...dcamera/src/org/opencv/samples/tutorial0/Sample0View.java
+2
-1
SampleViewBase.java
...mera/src/org/opencv/samples/tutorial0/SampleViewBase.java
+0
-0
Sample1Java.java
...dopencv/src/org/opencv/samples/tutorial1/Sample1Java.java
+9
-18
Sample1View.java
...dopencv/src/org/opencv/samples/tutorial1/Sample1View.java
+0
-0
SampleViewBase.java
...encv/src/org/opencv/samples/tutorial1/SampleViewBase.java
+0
-0
Sample2NativeCamera.java
...src/org/opencv/samples/tutorial2/Sample2NativeCamera.java
+8
-17
Sample2View.java
...vcamera/src/org/opencv/samples/tutorial2/Sample2View.java
+0
-0
SampleCvViewBase.java
...ra/src/org/opencv/samples/tutorial2/SampleCvViewBase.java
+1
-2
Sample3Native.java
...ative/src/org/opencv/samples/tutorial3/Sample3Native.java
+8
-17
Sample3View.java
...-native/src/org/opencv/samples/tutorial3/Sample3View.java
+0
-0
SampleViewBase.java
...tive/src/org/opencv/samples/tutorial3/SampleViewBase.java
+0
-0
Sample4Mixed.java
...-mixed/src/org/opencv/samples/tutorial4/Sample4Mixed.java
+8
-19
No files found.
samples/android/15-puzzle/src/org/opencv/samples/puzzle15/SampleCvViewBase.java
View file @
a4235948
...
...
@@ -14,7 +14,7 @@ import android.view.SurfaceHolder;
import
android.view.SurfaceView
;
public
abstract
class
SampleCvViewBase
extends
SurfaceView
implements
SurfaceHolder
.
Callback
,
Runnable
{
private
static
final
String
TAG
=
"Sample::SurfaceView"
;
private
static
final
String
TAG
=
"Sample
-15puzzle
::SurfaceView"
;
private
SurfaceHolder
mHolder
;
private
VideoCapture
mCamera
;
...
...
@@ -32,8 +32,7 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
releaseCamera
();
mCamera
=
new
VideoCapture
(
Highgui
.
CV_CAP_ANDROID
);
if
(!
mCamera
.
isOpened
())
{
mCamera
.
release
();
mCamera
=
null
;
releaseCamera
();
Log
.
e
(
TAG
,
"Failed to open native camera"
);
return
false
;
}
...
...
samples/android/15-puzzle/src/org/opencv/samples/puzzle15/puzzle15Activity.java
View file @
a4235948
...
...
@@ -12,6 +12,7 @@ import android.util.Log;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.Window
;
import
android.view.WindowManager
;
/** Activity class implements LoaderCallbackInterface to handle OpenCV initialization status **/
public
class
puzzle15Activity
extends
Activity
...
...
@@ -21,6 +22,7 @@ public class puzzle15Activity extends Activity
private
MenuItem
mItemNewGame
;
private
MenuItem
mItemToggleNumbers
;
private
puzzle15View
mView
=
null
;
private
BaseLoaderCallback
mOpenCVCallBack
=
new
BaseLoaderCallback
(
this
)
{
@Override
public
void
onManagerConnected
(
int
status
)
{
...
...
@@ -68,51 +70,38 @@ public class puzzle15Activity extends Activity
}
};
public
puzzle15Activity
()
{
public
puzzle15Activity
()
{
Log
.
i
(
TAG
,
"Instantiated new "
+
this
.
getClass
());
}
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
null
!=
mView
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
(
mView
!=
null
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
/** Called when the activity is first created. */
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
public
void
onCreate
(
Bundle
savedInstanceState
)
{
Log
.
i
(
TAG
,
"onCreate"
);
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
@Override
...
...
samples/android/15-puzzle/src/org/opencv/samples/puzzle15/puzzle15View.java
View file @
a4235948
...
...
@@ -83,11 +83,11 @@ public class puzzle15View extends SampleCvViewBase implements OnTouchListener {
return
sum
%
2
==
0
;
}
private
void
createPuzzle
(
int
cols
,
int
rows
)
{
private
void
createPuzzle
(
int
cols
,
int
rows
,
int
type
)
{
mCells
=
new
Mat
[
gridArea
];
mCells15
=
new
Mat
[
gridArea
];
mRgba15
=
new
Mat
(
rows
,
cols
,
mRgba
.
type
()
);
mRgba15
=
new
Mat
(
rows
,
cols
,
type
);
mIndexses
=
new
int
[
gridArea
];
for
(
int
i
=
0
;
i
<
gridSize
;
i
++)
{
...
...
@@ -122,7 +122,11 @@ public class puzzle15View extends SampleCvViewBase implements OnTouchListener {
cols
=
cols
-
cols
%
4
;
if
(
mCells
==
null
)
createPuzzle
(
cols
,
rows
);
createPuzzle
(
cols
,
rows
,
mRgba
.
type
());
else
if
(
mRgba15
.
cols
()
!=
cols
||
mRgba15
.
rows
()
!=
rows
)
{
releaseMats
();
createPuzzle
(
cols
,
rows
,
mRgba
.
type
());
}
// copy shuffled tiles
for
(
int
i
=
0
;
i
<
gridArea
;
i
++)
{
...
...
@@ -162,6 +166,15 @@ public class puzzle15View extends SampleCvViewBase implements OnTouchListener {
super
.
run
();
synchronized
(
this
)
{
releaseMats
();
if
(
mRgba
!=
null
)
mRgba
.
release
();
mRgba
=
null
;
}
}
private
void
releaseMats
()
{
// Explicitly deallocate Mats
if
(
mCells
!=
null
)
{
for
(
Mat
m
:
mCells
)
...
...
@@ -171,18 +184,15 @@ public class puzzle15View extends SampleCvViewBase implements OnTouchListener {
for
(
Mat
m
:
mCells15
)
m
.
release
();
}
if
(
mRgba
!=
null
)
mRgba
.
release
();
if
(
mRgba15
!=
null
)
mRgba15
.
release
();
mRgba
=
null
;
mRgba15
=
null
;
mCells
=
null
;
mCells15
=
null
;
mIndexses
=
null
;
}
}
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
if
(
mRgba
==
null
)
return
false
;
...
...
samples/android/color-blob-detection/src/org/opencv/samples/colorblobdetect/ColorBlobDetectionActivity.java
View file @
a4235948
...
...
@@ -10,10 +10,11 @@ import android.content.DialogInterface;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.Window
;
import
android.view.WindowManager
;
public
class
ColorBlobDetectionActivity
extends
Activity
{
private
static
final
String
TAG
=
"Example/ColorBlobDetection
"
;
private
static
final
String
TAG
=
"Sample-ColorBlobDetection::Activity
"
;
private
ColorBlobDetectionView
mView
;
private
BaseLoaderCallback
mOpenCVCallBack
=
new
BaseLoaderCallback
(
this
)
{
...
...
@@ -63,34 +64,27 @@ public class ColorBlobDetectionActivity extends Activity {
}
};
public
ColorBlobDetectionActivity
()
{
public
ColorBlobDetectionActivity
()
{
Log
.
i
(
TAG
,
"Instantiated new "
+
this
.
getClass
());
}
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
null
!=
mView
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
(
(
null
!=
mView
)
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
...
...
@@ -99,12 +93,7 @@ public class ColorBlobDetectionActivity extends Activity {
public
void
onCreate
(
Bundle
savedInstanceState
)
{
Log
.
i
(
TAG
,
"onCreate"
);
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
}
\ No newline at end of file
samples/android/color-blob-detection/src/org/opencv/samples/colorblobdetect/ColorBlobDetectionView.java
View file @
a4235948
...
...
@@ -33,13 +33,12 @@ public class ColorBlobDetectionView extends SampleCvViewBase implements OnTouchL
private
static
Size
SPECTRUM_SIZE
=
new
Size
(
200
,
32
);
// Logcat tag
private
static
final
String
TAG
=
"Example/ColorBlobDetection
"
;
private
static
final
String
TAG
=
"Sample-ColorBlobDetection::View
"
;
private
static
final
Scalar
CONTOUR_COLOR
=
new
Scalar
(
255
,
0
,
0
,
255
);
public
ColorBlobDetectionView
(
Context
context
)
{
public
ColorBlobDetectionView
(
Context
context
)
{
super
(
context
);
setOnTouchListener
(
this
);
}
...
...
@@ -54,8 +53,7 @@ public class ColorBlobDetectionView extends SampleCvViewBase implements OnTouchL
super
.
surfaceCreated
(
holder
);
}
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
int
cols
=
mRgba
.
cols
();
int
rows
=
mRgba
.
rows
();
...
...
@@ -86,9 +84,7 @@ public class ColorBlobDetectionView extends SampleCvViewBase implements OnTouchL
mBlobColorHsv
=
Core
.
sumElems
(
touchedRegionHsv
);
int
pointCount
=
touchedRect
.
width
*
touchedRect
.
height
;
for
(
int
i
=
0
;
i
<
mBlobColorHsv
.
val
.
length
;
i
++)
{
mBlobColorHsv
.
val
[
i
]
/=
pointCount
;
}
mBlobColorRgba
=
converScalarHsv2Rgba
(
mBlobColorHsv
);
...
...
@@ -110,8 +106,7 @@ public class ColorBlobDetectionView extends SampleCvViewBase implements OnTouchL
Bitmap
bmp
=
Bitmap
.
createBitmap
(
mRgba
.
cols
(),
mRgba
.
rows
(),
Bitmap
.
Config
.
ARGB_8888
);
if
(
mIsColorSelected
)
{
if
(
mIsColorSelected
)
{
mDetector
.
process
(
mRgba
);
List
<
MatOfPoint
>
contours
=
mDetector
.
getContours
();
Log
.
e
(
TAG
,
"Contours count: "
+
contours
.
size
());
...
...
@@ -135,8 +130,7 @@ public class ColorBlobDetectionView extends SampleCvViewBase implements OnTouchL
return
bmp
;
}
private
Scalar
converScalarHsv2Rgba
(
Scalar
hsvColor
)
{
private
Scalar
converScalarHsv2Rgba
(
Scalar
hsvColor
)
{
Mat
pointMatRgba
=
new
Mat
();
Mat
pointMatHsv
=
new
Mat
(
1
,
1
,
CvType
.
CV_8UC3
,
hsvColor
);
Imgproc
.
cvtColor
(
pointMatHsv
,
pointMatRgba
,
Imgproc
.
COLOR_HSV2RGB_FULL
,
4
);
...
...
samples/android/color-blob-detection/src/org/opencv/samples/colorblobdetect/ColorBlobDetector.java
View file @
a4235948
...
...
@@ -11,15 +11,12 @@ import org.opencv.core.MatOfPoint;
import
org.opencv.core.Scalar
;
import
org.opencv.imgproc.Imgproc
;
public
class
ColorBlobDetector
{
public
void
setColorRadius
(
Scalar
radius
)
{
public
class
ColorBlobDetector
{
public
void
setColorRadius
(
Scalar
radius
)
{
mColorRadius
=
radius
;
}
public
void
setHsvColor
(
Scalar
hsvColor
)
{
public
void
setHsvColor
(
Scalar
hsvColor
)
{
double
minH
=
(
hsvColor
.
val
[
0
]
>=
mColorRadius
.
val
[
0
])
?
hsvColor
.
val
[
0
]-
mColorRadius
.
val
[
0
]
:
0
;
double
maxH
=
(
hsvColor
.
val
[
0
]+
mColorRadius
.
val
[
0
]
<=
255
)
?
hsvColor
.
val
[
0
]+
mColorRadius
.
val
[
0
]
:
255
;
...
...
@@ -37,28 +34,23 @@ public class ColorBlobDetector
Mat
spectrumHsv
=
new
Mat
(
1
,
(
int
)(
maxH
-
minH
),
CvType
.
CV_8UC3
);
for
(
int
j
=
0
;
j
<
maxH
-
minH
;
j
++)
{
for
(
int
j
=
0
;
j
<
maxH
-
minH
;
j
++)
{
byte
[]
tmp
=
{(
byte
)(
minH
+
j
),
(
byte
)
255
,
(
byte
)
255
};
spectrumHsv
.
put
(
0
,
j
,
tmp
);
}
Imgproc
.
cvtColor
(
spectrumHsv
,
mSpectrum
,
Imgproc
.
COLOR_HSV2RGB_FULL
,
4
);
}
public
Mat
getSpectrum
()
{
public
Mat
getSpectrum
()
{
return
mSpectrum
;
}
public
void
setMinContourArea
(
double
area
)
{
public
void
setMinContourArea
(
double
area
)
{
mMinContourArea
=
area
;
}
public
void
process
(
Mat
rgbaImage
)
{
public
void
process
(
Mat
rgbaImage
)
{
Mat
pyrDownMat
=
new
Mat
();
Imgproc
.
pyrDown
(
rgbaImage
,
pyrDownMat
);
...
...
@@ -80,8 +72,7 @@ public class ColorBlobDetector
// Find max contour area
double
maxArea
=
0
;
Iterator
<
MatOfPoint
>
each
=
contours
.
iterator
();
while
(
each
.
hasNext
())
{
while
(
each
.
hasNext
())
{
MatOfPoint
wrapper
=
each
.
next
();
double
area
=
Imgproc
.
contourArea
(
wrapper
);
if
(
area
>
maxArea
)
...
...
@@ -91,19 +82,16 @@ public class ColorBlobDetector
// Filter contours by area and resize to fit the original image size
mContours
.
clear
();
each
=
contours
.
iterator
();
while
(
each
.
hasNext
())
{
while
(
each
.
hasNext
())
{
MatOfPoint
contour
=
each
.
next
();
if
(
Imgproc
.
contourArea
(
contour
)
>
mMinContourArea
*
maxArea
)
{
if
(
Imgproc
.
contourArea
(
contour
)
>
mMinContourArea
*
maxArea
)
{
Core
.
multiply
(
contour
,
new
Scalar
(
4
,
4
),
contour
);
mContours
.
add
(
contour
);
}
}
}
public
List
<
MatOfPoint
>
getContours
()
{
public
List
<
MatOfPoint
>
getContours
()
{
return
mContours
;
}
...
...
samples/android/color-blob-detection/src/org/opencv/samples/colorblobdetect/SampleCvViewBase.java
View file @
a4235948
...
...
@@ -32,8 +32,7 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
releaseCamera
();
mCamera
=
new
VideoCapture
(
Highgui
.
CV_CAP_ANDROID
);
if
(!
mCamera
.
isOpened
())
{
mCamera
.
release
();
mCamera
=
null
;
releaseCamera
();
Log
.
e
(
TAG
,
"Failed to open native camera"
);
return
false
;
}
...
...
samples/android/face-detection/jni/Android.mk
View file @
a4235948
samples/android/face-detection/jni/DetectionBasedTracker_jni.cpp
View file @
a4235948
...
...
@@ -133,7 +133,6 @@ JNIEXPORT void JNICALL Java_org_opencv_samples_fd_DetectionBasedTracker_nativeSe
DetectorParams
.
minObjectSize
=
faceSize
;
((
DetectionBasedTracker
*
)
thiz
)
->
setParameters
(
DetectorParams
);
}
}
catch
(
cv
::
Exception
e
)
{
...
...
samples/android/face-detection/jni/DetectionBasedTracker_jni.h
View file @
a4235948
samples/android/face-detection/src/org/opencv/samples/fd/DetectionBasedTracker.java
View file @
a4235948
...
...
@@ -5,33 +5,27 @@ import org.opencv.core.MatOfRect;
public
class
DetectionBasedTracker
{
public
DetectionBasedTracker
(
String
cascadeName
,
int
minFaceSize
)
{
public
DetectionBasedTracker
(
String
cascadeName
,
int
minFaceSize
)
{
mNativeObj
=
nativeCreateObject
(
cascadeName
,
minFaceSize
);
}
public
void
start
()
{
public
void
start
()
{
nativeStart
(
mNativeObj
);
}
public
void
stop
()
{
public
void
stop
()
{
nativeStop
(
mNativeObj
);
}
public
void
setMinFaceSize
(
int
size
)
{
public
void
setMinFaceSize
(
int
size
)
{
nativeSetFaceSize
(
mNativeObj
,
size
);
}
public
void
detect
(
Mat
imageGray
,
MatOfRect
faces
)
{
public
void
detect
(
Mat
imageGray
,
MatOfRect
faces
)
{
nativeDetect
(
mNativeObj
,
imageGray
.
getNativeObjAddr
(),
faces
.
getNativeObjAddr
());
}
public
void
release
()
{
public
void
release
()
{
nativeDestroyObject
(
mNativeObj
);
mNativeObj
=
0
;
}
...
...
@@ -45,8 +39,7 @@ public class DetectionBasedTracker
private
static
native
void
nativeSetFaceSize
(
long
thiz
,
int
size
);
private
static
native
void
nativeDetect
(
long
thiz
,
long
inputImage
,
long
faces
);
static
{
static
{
System
.
loadLibrary
(
"detection_based_tracker"
);
}
}
samples/android/face-detection/src/org/opencv/samples/fd/FdActivity.java
View file @
a4235948
...
...
@@ -12,16 +12,18 @@ import android.util.Log;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.Window
;
import
android.view.WindowManager
;
public
class
FdActivity
extends
Activity
{
private
static
final
String
TAG
=
"Sample::Activity"
;
private
static
final
String
TAG
=
"Sample
-FD
::Activity"
;
private
MenuItem
mItemFace50
;
private
MenuItem
mItemFace40
;
private
MenuItem
mItemFace30
;
private
MenuItem
mItemFace20
;
private
MenuItem
mItemType
;
private
int
mDetectorType
=
0
;
private
String
[]
mDetectorName
;
private
FdView
mView
;
private
BaseLoaderCallback
mOpenCVCallBack
=
new
BaseLoaderCallback
(
this
)
{
...
...
@@ -77,10 +79,6 @@ public class FdActivity extends Activity {
}
};
private
int
mDetectorType
=
0
;
private
String
[]
mDetectorName
;
public
FdActivity
()
{
Log
.
i
(
TAG
,
"Instantiated new "
+
this
.
getClass
());
mDetectorName
=
new
String
[
2
];
...
...
@@ -91,26 +89,20 @@ public class FdActivity extends Activity {
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
mView
!=
null
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
(
mView
!=
null
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
...
...
@@ -120,12 +112,7 @@ public class FdActivity extends Activity {
Log
.
i
(
TAG
,
"onCreate"
);
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
@Override
...
...
@@ -136,7 +123,6 @@ public class FdActivity extends Activity {
mItemFace30
=
menu
.
add
(
"Face size 30%"
);
mItemFace20
=
menu
.
add
(
"Face size 20%"
);
mItemType
=
menu
.
add
(
mDetectorName
[
mDetectorType
]);
return
true
;
}
...
...
samples/android/face-detection/src/org/opencv/samples/fd/FdView.java
View file @
a4235948
...
...
@@ -22,7 +22,7 @@ import android.util.Log;
import
android.view.SurfaceHolder
;
class
FdView
extends
SampleCvViewBase
{
private
static
final
String
TAG
=
"Sample
::Fd
View"
;
private
static
final
String
TAG
=
"Sample
-FD::
View"
;
private
Mat
mRgba
;
private
Mat
mGray
;
private
File
mCascadeFile
;
...
...
@@ -39,25 +39,19 @@ class FdView extends SampleCvViewBase {
private
float
mRelativeFaceSize
=
0
;
private
int
mAbsoluteFaceSize
=
0
;
public
void
setMinFaceSize
(
float
faceSize
)
{
public
void
setMinFaceSize
(
float
faceSize
)
{
mRelativeFaceSize
=
faceSize
;
mAbsoluteFaceSize
=
0
;
}
public
void
setDetectorType
(
int
type
)
{
if
(
mDetectorType
!=
type
)
{
public
void
setDetectorType
(
int
type
)
{
if
(
mDetectorType
!=
type
)
{
mDetectorType
=
type
;
if
(
type
==
NATIVE_DETECTOR
)
{
if
(
type
==
NATIVE_DETECTOR
)
{
Log
.
i
(
TAG
,
"Detection Based Tracker enabled"
);
mNativeDetector
.
start
();
}
else
{
}
else
{
Log
.
i
(
TAG
,
"Cascade detector enabled"
);
mNativeDetector
.
stop
();
}
...
...
@@ -114,11 +108,9 @@ class FdView extends SampleCvViewBase {
capture
.
retrieve
(
mRgba
,
Highgui
.
CV_CAP_ANDROID_COLOR_FRAME_RGBA
);
capture
.
retrieve
(
mGray
,
Highgui
.
CV_CAP_ANDROID_GREY_FRAME
);
if
(
mAbsoluteFaceSize
==
0
)
{
if
(
mAbsoluteFaceSize
==
0
)
{
int
height
=
mGray
.
rows
();
if
(
Math
.
round
(
height
*
mRelativeFaceSize
)
>
0
);
{
if
(
Math
.
round
(
height
*
mRelativeFaceSize
)
>
0
)
{
mAbsoluteFaceSize
=
Math
.
round
(
height
*
mRelativeFaceSize
);
}
mNativeDetector
.
setMinFaceSize
(
mAbsoluteFaceSize
);
...
...
@@ -126,19 +118,16 @@ class FdView extends SampleCvViewBase {
MatOfRect
faces
=
new
MatOfRect
();
if
(
mDetectorType
==
JAVA_DETECTOR
)
{
if
(
mDetectorType
==
JAVA_DETECTOR
)
{
if
(
mJavaDetector
!=
null
)
mJavaDetector
.
detectMultiScale
(
mGray
,
faces
,
1.1
,
2
,
2
// TODO: objdetect.CV_HAAR_SCALE_IMAGE
,
new
Size
(
mAbsoluteFaceSize
,
mAbsoluteFaceSize
),
new
Size
());
mJavaDetector
.
detectMultiScale
(
mGray
,
faces
,
1.1
,
2
,
2
,
// TODO: objdetect.CV_HAAR_SCALE_IMAGE
new
Size
(
mAbsoluteFaceSize
,
mAbsoluteFaceSize
),
new
Size
());
}
else
if
(
mDetectorType
==
NATIVE_DETECTOR
)
{
else
if
(
mDetectorType
==
NATIVE_DETECTOR
)
{
if
(
mNativeDetector
!=
null
)
mNativeDetector
.
detect
(
mGray
,
faces
);
}
else
{
else
{
Log
.
e
(
TAG
,
"Detection method is not selected!"
);
}
...
...
samples/android/face-detection/src/org/opencv/samples/fd/SampleCvViewBase.java
View file @
a4235948
...
...
@@ -34,8 +34,7 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
releaseCamera
();
mCamera
=
new
VideoCapture
(
Highgui
.
CV_CAP_ANDROID
);
if
(!
mCamera
.
isOpened
())
{
mCamera
.
release
();
mCamera
=
null
;
releaseCamera
();
Log
.
e
(
TAG
,
"Failed to open native camera"
);
return
false
;
}
...
...
samples/android/image-manipulations/src/org/opencv/samples/imagemanipulations/ImageManipulationsActivity.java
View file @
a4235948
...
...
@@ -12,6 +12,7 @@ import android.util.Log;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.Window
;
import
android.view.WindowManager
;
public
class
ImageManipulationsActivity
extends
Activity
{
...
...
@@ -93,26 +94,20 @@ public class ImageManipulationsActivity extends Activity {
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
null
!=
mView
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
(
(
null
!=
mView
)
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
...
...
@@ -122,12 +117,7 @@ public class ImageManipulationsActivity extends Activity {
Log
.
i
(
TAG
,
"onCreate"
);
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
@Override
...
...
samples/android/image-manipulations/src/org/opencv/samples/imagemanipulations/ImageManipulationsView.java
View file @
a4235948
samples/android/image-manipulations/src/org/opencv/samples/imagemanipulations/SampleCvViewBase.java
View file @
a4235948
...
...
@@ -34,8 +34,7 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
releaseCamera
();
mCamera
=
new
VideoCapture
(
Highgui
.
CV_CAP_ANDROID
);
if
(!
mCamera
.
isOpened
())
{
mCamera
.
release
();
mCamera
=
null
;
releaseCamera
();
Log
.
e
(
TAG
,
"Failed to open native camera"
);
return
false
;
}
...
...
samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0Base.java
View file @
a4235948
samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0View.java
View file @
a4235948
...
...
@@ -35,7 +35,7 @@ class Sample0View extends SampleViewBase {
rgba
[
i
]
=
0xff000000
+
(
y
<<
16
)
+
(
y
<<
8
)
+
y
;
}
}
else
if
(
view_mode
==
VIEW_MODE_RGBA
)
{
for
(
int
i
=
0
;
i
<
getFrameHeight
();
i
++)
for
(
int
i
=
0
;
i
<
getFrameHeight
();
i
++)
{
for
(
int
j
=
0
;
j
<
getFrameWidth
();
j
++)
{
int
index
=
i
*
getFrameWidth
()
+
j
;
int
supply_index
=
frameSize
+
(
i
>>
1
)
*
getFrameWidth
()
+
(
j
&
~
1
);
...
...
@@ -56,6 +56,7 @@ class Sample0View extends SampleViewBase {
rgba
[
i
*
getFrameWidth
()
+
j
]
=
0xff000000
+
(
b
<<
16
)
+
(
g
<<
8
)
+
r
;
}
}
}
mBitmap
.
setPixels
(
rgba
,
0
/* offset */
,
getFrameWidth
()
/* stride */
,
0
,
0
,
getFrameWidth
(),
getFrameHeight
());
return
mBitmap
;
...
...
samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/SampleViewBase.java
View file @
a4235948
samples/android/tutorial-1-addopencv/src/org/opencv/samples/tutorial1/Sample1Java.java
View file @
a4235948
...
...
@@ -12,6 +12,7 @@ import android.util.Log;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.Window
;
import
android.view.WindowManager
;
public
class
Sample1Java
extends
Activity
{
private
static
final
String
TAG
=
"Sample::Activity"
;
...
...
@@ -45,6 +46,7 @@ public class Sample1Java extends Activity {
ad
.
show
();
}
}
break
;
/** OpenCV loader cannot start Google Play **/
case
LoaderCallbackInterface
.
MARKET_ERROR
:
{
...
...
@@ -75,26 +77,20 @@ public class Sample1Java extends Activity {
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
null
!=
mView
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
(
(
null
!=
mView
)
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
...
...
@@ -104,12 +100,7 @@ public class Sample1Java extends Activity {
Log
.
i
(
TAG
,
"onCreate"
);
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
@Override
...
...
samples/android/tutorial-1-addopencv/src/org/opencv/samples/tutorial1/Sample1View.java
View file @
a4235948
samples/android/tutorial-1-addopencv/src/org/opencv/samples/tutorial1/SampleViewBase.java
View file @
a4235948
samples/android/tutorial-2-opencvcamera/src/org/opencv/samples/tutorial2/Sample2NativeCamera.java
View file @
a4235948
...
...
@@ -12,6 +12,7 @@ import android.util.Log;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.Window
;
import
android.view.WindowManager
;
public
class
Sample2NativeCamera
extends
Activity
{
private
static
final
String
TAG
=
"Sample::Activity"
;
...
...
@@ -82,26 +83,20 @@ public class Sample2NativeCamera extends Activity {
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
null
!=
mView
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
((
null
!=
mView
)
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
...
...
@@ -111,11 +106,7 @@ public class Sample2NativeCamera extends Activity {
Log
.
i
(
TAG
,
"onCreate"
);
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
@Override
...
...
samples/android/tutorial-2-opencvcamera/src/org/opencv/samples/tutorial2/Sample2View.java
View file @
a4235948
samples/android/tutorial-2-opencvcamera/src/org/opencv/samples/tutorial2/SampleCvViewBase.java
View file @
a4235948
...
...
@@ -32,8 +32,7 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
releaseCamera
();
mCamera
=
new
VideoCapture
(
Highgui
.
CV_CAP_ANDROID
);
if
(!
mCamera
.
isOpened
())
{
mCamera
.
release
();
mCamera
=
null
;
releaseCamera
();
Log
.
e
(
TAG
,
"Failed to open native camera"
);
return
false
;
}
...
...
samples/android/tutorial-3-native/src/org/opencv/samples/tutorial3/Sample3Native.java
View file @
a4235948
...
...
@@ -10,6 +10,7 @@ import android.content.DialogInterface;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.Window
;
import
android.view.WindowManager
;
public
class
Sample3Native
extends
Activity
{
private
static
final
String
TAG
=
"Sample::Activity"
;
...
...
@@ -73,26 +74,20 @@ public class Sample3Native extends Activity {
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
null
!=
mView
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
((
null
!=
mView
)
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
...
...
@@ -102,10 +97,6 @@ public class Sample3Native extends Activity {
Log
.
i
(
TAG
,
"onCreate"
);
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
}
samples/android/tutorial-3-native/src/org/opencv/samples/tutorial3/Sample3View.java
View file @
a4235948
samples/android/tutorial-3-native/src/org/opencv/samples/tutorial3/SampleViewBase.java
View file @
a4235948
samples/android/tutorial-4-mixed/src/org/opencv/samples/tutorial4/Sample4Mixed.java
View file @
a4235948
...
...
@@ -12,6 +12,7 @@ import android.util.Log;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.Window
;
import
android.view.WindowManager
;
public
class
Sample4Mixed
extends
Activity
{
private
static
final
String
TAG
=
"Sample::Activity"
;
...
...
@@ -81,26 +82,20 @@ public class Sample4Mixed extends Activity {
@Override
protected
void
onPause
()
{
Log
.
i
(
TAG
,
"onPause"
);
super
.
onPause
();
if
(
null
!=
mView
)
mView
.
releaseCamera
();
super
.
onPause
();
}
@Override
protected
void
onResume
()
{
Log
.
i
(
TAG
,
"onResume"
);
super
.
onResume
();
if
((
null
!=
mView
)
&&
!
mView
.
openCamera
()
)
{
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
this
).
create
();
ad
.
setCancelable
(
false
);
// This blocks the 'BACK' button
ad
.
setMessage
(
"Fatal error: can't open camera!"
);
ad
.
setButton
(
AlertDialog
.
BUTTON_POSITIVE
,
"OK"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
finish
();
}
});
ad
.
show
();
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
}
...
...
@@ -109,14 +104,8 @@ public class Sample4Mixed extends Activity {
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
Log
.
i
(
TAG
,
"onCreate"
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
Log
.
i
(
TAG
,
"Trying to load OpenCV library"
);
if
(!
OpenCVLoader
.
initAsync
(
OpenCVLoader
.
OPENCV_VERSION_2_4_2
,
this
,
mOpenCVCallBack
))
{
Log
.
e
(
TAG
,
"Cannot connect to OpenCV Manager"
);
}
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
public
boolean
onCreateOptionsMenu
(
Menu
menu
)
{
...
...
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