Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
d445903b
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d445903b
编写于
7月 19, 2011
作者:
A
Andrey Kamaev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added FPS measurement to some Android samples
上级
9e00cc59
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
114 addition
and
0 deletion
+114
-0
samples/android/face-detection/src/org/opencv/samples/fd/FpsMeter.java
...id/face-detection/src/org/opencv/samples/fd/FpsMeter.java
+50
-0
samples/android/face-detection/src/org/opencv/samples/fd/SampleCvViewBase.java
...detection/src/org/opencv/samples/fd/SampleCvViewBase.java
+7
-0
samples/android/image-manipulations/src/org/opencv/samples/imagemanipulations/FpsMeter.java
...s/src/org/opencv/samples/imagemanipulations/FpsMeter.java
+50
-0
samples/android/image-manipulations/src/org/opencv/samples/imagemanipulations/SampleCvViewBase.java
...g/opencv/samples/imagemanipulations/SampleCvViewBase.java
+7
-0
未找到文件。
samples/android/face-detection/src/org/opencv/samples/fd/FpsMeter.java
0 → 100644
浏览文件 @
d445903b
package
org.opencv.samples.fd
;
import
java.text.DecimalFormat
;
import
org.opencv.core
;
import
android.graphics.Canvas
;
import
android.graphics.Color
;
import
android.graphics.Paint
;
import
android.util.Log
;
public
class
FpsMeter
{
private
static
final
String
TAG
=
"Sample::FpsMeter"
;
int
step
;
int
framesCouner
;
double
freq
;
long
prevFrameTime
;
String
strfps
;
DecimalFormat
twoPlaces
=
new
DecimalFormat
(
"0.00"
);
Paint
paint
;
public
void
init
()
{
step
=
20
;
framesCouner
=
0
;
freq
=
core
.
getTickFrequency
();
prevFrameTime
=
core
.
getTickCount
();
strfps
=
""
;
paint
=
new
Paint
();
paint
.
setColor
(
Color
.
BLUE
);
paint
.
setTextSize
(
50
);
}
public
void
measure
()
{
framesCouner
++;
if
(
framesCouner
%
step
==
0
)
{
long
time
=
core
.
getTickCount
();
double
fps
=
step
*
freq
/
(
time
-
prevFrameTime
);
prevFrameTime
=
time
;
DecimalFormat
twoPlaces
=
new
DecimalFormat
(
"0.00"
);
strfps
=
twoPlaces
.
format
(
fps
)
+
" FPS"
;
Log
.
i
(
TAG
,
strfps
);
}
}
public
void
draw
(
Canvas
canvas
,
float
offsetx
,
float
offsety
)
{
canvas
.
drawText
(
strfps
,
20
+
offsetx
,
10
+
50
+
offsety
,
paint
);
}
}
samples/android/face-detection/src/org/opencv/samples/fd/SampleCvViewBase.java
浏览文件 @
d445903b
...
...
@@ -16,11 +16,13 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
private
SurfaceHolder
mHolder
;
private
VideoCapture
mCamera
;
private
FpsMeter
mFps
;
public
SampleCvViewBase
(
Context
context
)
{
super
(
context
);
mHolder
=
getHolder
();
mHolder
.
addCallback
(
this
);
mFps
=
new
FpsMeter
();
Log
.
i
(
TAG
,
"Instantiated new "
+
this
.
getClass
());
}
...
...
@@ -78,6 +80,8 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
public
void
run
()
{
Log
.
i
(
TAG
,
"Starting processing thread"
);
mFps
.
init
();
while
(
true
)
{
Bitmap
bmp
=
null
;
...
...
@@ -91,12 +95,15 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
}
bmp
=
processFrame
(
mCamera
);
mFps
.
measure
();
}
if
(
bmp
!=
null
)
{
Canvas
canvas
=
mHolder
.
lockCanvas
();
if
(
canvas
!=
null
)
{
canvas
.
drawBitmap
(
bmp
,
(
canvas
.
getWidth
()
-
bmp
.
getWidth
())
/
2
,
(
canvas
.
getHeight
()
-
bmp
.
getHeight
())
/
2
,
null
);
mFps
.
draw
(
canvas
,
(
canvas
.
getWidth
()
-
bmp
.
getWidth
())
/
2
,
0
);
mHolder
.
unlockCanvasAndPost
(
canvas
);
}
bmp
.
recycle
();
...
...
samples/android/image-manipulations/src/org/opencv/samples/imagemanipulations/FpsMeter.java
0 → 100644
浏览文件 @
d445903b
package
org.opencv.samples.imagemanipulations
;
import
java.text.DecimalFormat
;
import
org.opencv.core
;
import
android.graphics.Canvas
;
import
android.graphics.Color
;
import
android.graphics.Paint
;
import
android.util.Log
;
public
class
FpsMeter
{
private
static
final
String
TAG
=
"Sample::FpsMeter"
;
int
step
;
int
framesCouner
;
double
freq
;
long
prevFrameTime
;
String
strfps
;
DecimalFormat
twoPlaces
=
new
DecimalFormat
(
"0.00"
);
Paint
paint
;
public
void
init
()
{
step
=
20
;
framesCouner
=
0
;
freq
=
core
.
getTickFrequency
();
prevFrameTime
=
core
.
getTickCount
();
strfps
=
""
;
paint
=
new
Paint
();
paint
.
setColor
(
Color
.
BLUE
);
paint
.
setTextSize
(
50
);
}
public
void
measure
()
{
framesCouner
++;
if
(
framesCouner
%
step
==
0
)
{
long
time
=
core
.
getTickCount
();
double
fps
=
step
*
freq
/
(
time
-
prevFrameTime
);
prevFrameTime
=
time
;
DecimalFormat
twoPlaces
=
new
DecimalFormat
(
"0.00"
);
strfps
=
twoPlaces
.
format
(
fps
)
+
" FPS"
;
Log
.
i
(
TAG
,
strfps
);
}
}
public
void
draw
(
Canvas
canvas
,
float
offsetx
,
float
offsety
)
{
canvas
.
drawText
(
strfps
,
20
+
offsetx
,
10
+
50
+
offsety
,
paint
);
}
}
samples/android/image-manipulations/src/org/opencv/samples/imagemanipulations/SampleCvViewBase.java
浏览文件 @
d445903b
...
...
@@ -16,11 +16,13 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
private
SurfaceHolder
mHolder
;
private
VideoCapture
mCamera
;
private
FpsMeter
mFps
;
public
SampleCvViewBase
(
Context
context
)
{
super
(
context
);
mHolder
=
getHolder
();
mHolder
.
addCallback
(
this
);
mFps
=
new
FpsMeter
();
Log
.
i
(
TAG
,
"Instantiated new "
+
this
.
getClass
());
}
...
...
@@ -78,6 +80,8 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
public
void
run
()
{
Log
.
i
(
TAG
,
"Starting processing thread"
);
mFps
.
init
();
while
(
true
)
{
Bitmap
bmp
=
null
;
...
...
@@ -91,12 +95,15 @@ public abstract class SampleCvViewBase extends SurfaceView implements SurfaceHol
}
bmp
=
processFrame
(
mCamera
);
mFps
.
measure
();
}
if
(
bmp
!=
null
)
{
Canvas
canvas
=
mHolder
.
lockCanvas
();
if
(
canvas
!=
null
)
{
canvas
.
drawBitmap
(
bmp
,
(
canvas
.
getWidth
()
-
bmp
.
getWidth
())
/
2
,
(
canvas
.
getHeight
()
-
bmp
.
getHeight
())
/
2
,
null
);
mFps
.
draw
(
canvas
,
(
canvas
.
getWidth
()
-
bmp
.
getWidth
())
/
2
,
0
);
mHolder
.
unlockCanvasAndPost
(
canvas
);
}
bmp
.
recycle
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录