Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
9320e475
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9320e475
编写于
12月 20, 2018
作者:
V
vlin17
提交者:
Liangliang Zhang
12月 21, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Dreamview: porcess compressed image from image_short_topic
上级
9477937b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
29 addition
and
11 deletion
+29
-11
modules/dreamview/backend/handlers/image_handler.cc
modules/dreamview/backend/handlers/image_handler.cc
+23
-7
modules/dreamview/backend/handlers/image_handler.h
modules/dreamview/backend/handlers/image_handler.h
+4
-2
modules/dreamview/frontend/src/components/Dreamview.js
modules/dreamview/frontend/src/components/Dreamview.js
+1
-1
modules/dreamview/frontend/src/components/Tasks/SensorCamera.js
...s/dreamview/frontend/src/components/Tasks/SensorCamera.js
+1
-1
未找到文件。
modules/dreamview/backend/handlers/image_handler.cc
浏览文件 @
9320e475
...
...
@@ -26,10 +26,12 @@ limitations under the License.
namespace
apollo
{
namespace
dreamview
{
using
apollo
::
drivers
::
CompressedImage
;
using
apollo
::
drivers
::
Image
;
constexpr
double
ImageHandler
::
kImageScale
;
template
<
>
void
ImageHandler
::
OnImage
(
const
std
::
shared_ptr
<
Image
>
&
image
)
{
if
(
requests_
==
0
)
{
return
;
...
...
@@ -39,23 +41,37 @@ void ImageHandler::OnImage(const std::shared_ptr<Image> &image) {
const_cast
<
char
*>
(
image
->
data
().
data
()),
image
->
step
());
cv
::
cvtColor
(
mat
,
mat
,
cv
::
COLOR_RGB2BGR
);
cv
::
resize
(
mat
,
mat
,
cv
::
Size
(
static_cast
<
int
>
(
image
->
width
()
*
ImageHandler
::
kImageScale
),
static_cast
<
int
>
(
image
->
height
()
*
ImageHandler
::
kImageScale
)),
0
,
0
,
CV_INTER_LINEAR
);
mat
,
mat
,
cv
::
Size
(
static_cast
<
int
>
(
image
->
width
()
*
ImageHandler
::
kImageScale
),
static_cast
<
int
>
(
image
->
height
()
*
ImageHandler
::
kImageScale
)),
0
,
0
,
CV_INTER_LINEAR
);
std
::
unique_lock
<
std
::
mutex
>
lock
(
mutex_
);
cv
::
imencode
(
".jpg"
,
mat
,
send_buffer_
,
std
::
vector
<
int
>
()
/* params */
);
cvar_
.
notify_all
();
}
template
<
>
void
ImageHandler
::
OnImage
(
const
std
::
shared_ptr
<
CompressedImage
>
&
compressed_image
)
{
std
::
vector
<
uint8_t
>
compressed_raw_data
(
compressed_image
->
data
().
begin
(),
compressed_image
->
data
().
end
());
cv
::
Mat
mat_image
=
cv
::
imdecode
(
compressed_raw_data
,
CV_LOAD_IMAGE_COLOR
);
cv
::
cvtColor
(
mat_image
,
mat_image
,
cv
::
COLOR_RGB2BGR
);
std
::
unique_lock
<
std
::
mutex
>
lock
(
mutex_
);
cv
::
imencode
(
".jpg"
,
mat_image
,
send_buffer_
,
std
::
vector
<
int
>
()
/* params */
);
cvar_
.
notify_all
();
}
void
ImageHandler
::
OnImageFront
(
const
std
::
shared_ptr
<
Image
>
&
image
)
{
if
(
FLAGS_use_navigation_mode
)
{
OnImage
(
image
);
}
}
void
ImageHandler
::
OnImageShort
(
const
std
::
shared_ptr
<
Image
>
&
image
)
{
void
ImageHandler
::
OnImageShort
(
const
std
::
shared_ptr
<
Compressed
Image
>
&
image
)
{
if
(
!
FLAGS_use_navigation_mode
)
{
OnImage
(
image
);
}
...
...
@@ -69,9 +85,9 @@ ImageHandler::ImageHandler()
OnImageFront
(
image
);
});
node_
->
CreateReader
<
Image
>
(
node_
->
CreateReader
<
Compressed
Image
>
(
FLAGS_image_short_topic
,
[
this
](
const
std
::
shared_ptr
<
Image
>
&
image
)
{
[
this
](
const
std
::
shared_ptr
<
Compressed
Image
>
&
image
)
{
OnImageShort
(
image
);
});
}
...
...
modules/dreamview/backend/handlers/image_handler.h
浏览文件 @
9320e475
...
...
@@ -55,10 +55,12 @@ class ImageHandler : public CivetHandler {
bool
handleGet
(
CivetServer
*
server
,
struct
mg_connection
*
conn
);
private:
void
OnImage
(
const
std
::
shared_ptr
<
apollo
::
drivers
::
Image
>
&
image
);
template
<
typename
SensorMsgsImage
>
void
OnImage
(
const
std
::
shared_ptr
<
SensorMsgsImage
>
&
image
);
void
OnImageFront
(
const
std
::
shared_ptr
<
apollo
::
drivers
::
Image
>
&
image
);
void
OnImageShort
(
const
std
::
shared_ptr
<
apollo
::
drivers
::
Image
>
&
image
);
void
OnImageShort
(
const
std
::
shared_ptr
<
apollo
::
drivers
::
CompressedImage
>
&
image
);
std
::
vector
<
uint8_t
>
send_buffer_
;
std
::
atomic
<
int
>
requests_
;
...
...
modules/dreamview/frontend/src/components/Dreamview.js
浏览文件 @
9320e475
...
...
@@ -88,7 +88,7 @@ export default class Dreamview extends React.Component {
<
div
className
=
"
right-pane
"
>
{
options
.
showPNCMonitor
&&
options
.
showVideo
&&
<
div
>
<
Tab
><
span
>
Camera
Sensor
<
/span></
Tab
>
<
Tab
><
span
>
Camera
View
<
/span></
Tab
>
<
CameraVideo
/>
<
/div
>
}
...
...
modules/dreamview/frontend/src/components/Tasks/SensorCamera.js
浏览文件 @
9320e475
...
...
@@ -14,7 +14,7 @@ export default class SensorCamera extends React.Component {
render
()
{
return
(
<
div
className
=
"
card camera
"
>
<
div
className
=
"
card-header
"
><
span
>
Camera
Sensor
<
/span></
div
>
<
div
className
=
"
card-header
"
><
span
>
Camera
View
<
/span></
div
>
<
div
className
=
"
card-content-column
"
>
<
CameraVideo
/>
<
/div
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录