Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
80f8c262
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
80f8c262
编写于
7月 29, 2020
作者:
J
Jack Zhou
提交者:
GitHub
7月 29, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[cherry-pick] fix cpp precision (#1124)
上级
c2bf0803
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
14 addition
and
10 deletion
+14
-10
deploy/cpp/docs/linux_build.md
deploy/cpp/docs/linux_build.md
+1
-1
deploy/cpp/src/main.cc
deploy/cpp/src/main.cc
+1
-1
deploy/cpp/src/object_detector.cc
deploy/cpp/src/object_detector.cc
+10
-6
deploy/python/infer.py
deploy/python/infer.py
+1
-1
deploy/python/visualize.py
deploy/python/visualize.py
+1
-1
未找到文件。
deploy/cpp/docs/linux_build.md
浏览文件 @
80f8c262
# Linux平台编译指南
## 说明
本文档在
`Linux`
平台使用
`GCC 4.8.5`
和
`GCC 4.9.4`
测试过,如果需要使用更高G++版本编译使用,则需要重新编译Paddle预测库,请参考:
[
从源码编译Paddle预测库
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html
)
。
本文档在
`Linux`
平台使用
`GCC 4.8.5`
和
`GCC 4.9.4`
测试过,如果需要使用更高G++版本编译使用,则需要重新编译Paddle预测库,请参考:
[
从源码编译Paddle预测库
](
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/advanced_guide/inference_deployment/inference/build_and_install_lib_cn.html
)
。
本文档使用的预置的opencv库是在ubuntu 16.04上用gcc4.8编译的,如果需要在ubuntu 16.04以外的系统环境编译,那么需自行编译opencv库。
## 前置条件
*
G++ 4.8.2 ~ 4.9.4
...
...
deploy/cpp/src/main.cc
浏览文件 @
80f8c262
...
...
@@ -94,7 +94,7 @@ void PredictImage(const std::string& image_path,
std
::
vector
<
PaddleDetection
::
ObjectResult
>
result
;
det
->
Predict
(
im
,
&
result
);
for
(
const
auto
&
item
:
result
)
{
printf
(
"class=%d confidence=%.
2
f rect=[%d %d %d %d]
\n
"
,
printf
(
"class=%d confidence=%.
4
f rect=[%d %d %d %d]
\n
"
,
item
.
class_id
,
item
.
confidence
,
item
.
rect
[
0
],
...
...
deploy/cpp/src/object_detector.cc
浏览文件 @
80f8c262
...
...
@@ -11,8 +11,10 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
# include "include/object_detector.h"
#include <sstream>
// for setprecision
#include <iomanip>
#include "include/object_detector.h"
namespace
PaddleDetection
{
...
...
@@ -71,13 +73,15 @@ cv::Mat VisualizeResult(const cv::Mat& img,
cv
::
Rect
roi
=
cv
::
Rect
(
results
[
i
].
rect
[
0
],
results
[
i
].
rect
[
2
],
w
,
h
);
// Configure color and text size
std
::
string
text
=
lable_list
[
results
[
i
].
class_id
];
std
::
ostringstream
oss
;
oss
<<
std
::
setiosflags
(
std
::
ios
::
fixed
)
<<
std
::
setprecision
(
4
);
oss
<<
lable_list
[
results
[
i
].
class_id
]
<<
" "
;
oss
<<
results
[
i
].
confidence
;
std
::
string
text
=
oss
.
str
();
int
c1
=
colormap
[
3
*
results
[
i
].
class_id
+
0
];
int
c2
=
colormap
[
3
*
results
[
i
].
class_id
+
1
];
int
c3
=
colormap
[
3
*
results
[
i
].
class_id
+
2
];
cv
::
Scalar
roi_color
=
cv
::
Scalar
(
c1
,
c2
,
c3
);
text
+=
" "
;
text
+=
std
::
to_string
(
static_cast
<
int
>
(
results
[
i
].
confidence
*
100
))
+
"%"
;
int
font_face
=
cv
::
FONT_HERSHEY_COMPLEX_SMALL
;
double
font_scale
=
0.5
f
;
float
thickness
=
0.5
;
...
...
deploy/python/infer.py
浏览文件 @
80f8c262
...
...
@@ -456,7 +456,7 @@ class Detector():
expect_boxes
=
(
np_boxes
[:,
1
]
>
threshold
)
&
(
np_boxes
[:,
0
]
>
-
1
)
np_boxes
=
np_boxes
[
expect_boxes
,
:]
for
box
in
np_boxes
:
print
(
'class_id:{:d}, confidence:{:.
2
f},'
print
(
'class_id:{:d}, confidence:{:.
4
f},'
'left_top:[{:.2f},{:.2f}],'
' right_bottom:[{:.2f},{:.2f}]'
.
format
(
int
(
box
[
0
]),
box
[
1
],
box
[
2
],
box
[
3
],
box
[
4
],
box
[
5
]))
...
...
deploy/python/visualize.py
浏览文件 @
80f8c262
...
...
@@ -180,7 +180,7 @@ def draw_box(im, np_boxes, labels):
fill
=
color
)
# draw label
text
=
"{} {:.
2
f}"
.
format
(
labels
[
clsid
],
score
)
text
=
"{} {:.
4
f}"
.
format
(
labels
[
clsid
],
score
)
tw
,
th
=
draw
.
textsize
(
text
)
draw
.
rectangle
(
[(
xmin
+
1
,
ymin
-
th
),
(
xmin
+
tw
+
1
,
ymin
)],
fill
=
color
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录