Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
J
jfx_kalman_filter_src
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
oscar
jfx_kalman_filter_src
Commits
5fc37ca9
Commit
5fc37ca9
authored
Jan 17, 2022
by
oscar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交图像处理
parent
f9d5276f
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
1 deletion
+43
-1
TrackingRosEx.cpp
TrackingRosEx.cpp
+39
-1
TrackingRosEx.h
TrackingRosEx.h
+4
-0
No files found.
TrackingRosEx.cpp
View file @
5fc37ca9
...
...
@@ -293,6 +293,9 @@ void TrackingRos::Init(ros::NodeHandle& nh)
SDK_LOG
(
SDK_INFO
,
"right_left_camera_len = %d"
,
m_right_left_camera_len
);
nh
.
param
<
int32_t
>
(
"front_camera_len"
,
m_front_camera_len
,
0
);
SDK_LOG
(
SDK_INFO
,
"front_camera_len = %d"
,
m_front_camera_len
);
nh
.
param
<
int32_t
>
(
"send_camera_image"
,
m_send_camera_image
,
0
);
SDK_LOG
(
SDK_INFO
,
"send_camera_image = %d"
,
m_send_camera_image
);
YAML
::
Node
config
=
YAML
::
LoadFile
(
file
.
c_str
());
auto
cfg
=
config
[
"TRACKING"
];
...
...
@@ -312,6 +315,10 @@ void TrackingRos::Init(ros::NodeHandle& nh)
m_pubBoundingBoxes
=
nh
.
advertise
<
jsk_recognition_msgs
::
BoundingBoxArray
>
(
"/tracking_bbox"
,
100
);
m_pubMarker
=
nh
.
advertise
<
visualization_msgs
::
MarkerArray
>
(
"/tracking_loc"
,
100
);
m_pubCameraFront
=
nh
.
advertise
(
"/CameraFront"
,
10
);
m_pubCameraRight
=
nh
.
advertise
(
"/CameraRight"
,
10
);
m_pubCameraLeft
=
nh
.
advertise
(
"/CameraLeft"
,
10
);
m_objsQueue
.
set_max_num_items
(
2
);
m_isTrackingRun
=
true
;
...
...
@@ -457,6 +464,13 @@ void TrackingRos::TrackingCameraCallBackFunc(const jfx_common_msgs::InferResesCo
objsPtr
->
array
.
push_back
(
obj
);
}
}
cv
::
Mat
sendImage
[
3
];
if
(
m_send_camera_image
==
1
&&
msg
->
Images
.
size
()
==
3
)
{
sendImage
[
0
]
=
cv_bridge
::
toCvCopy
(
msg
->
Images
[
0
],
"bgr8"
)
->
image
;
sendImage
[
1
]
=
cv_bridge
::
toCvCopy
(
msg
->
Images
[
1
],
"bgr8"
)
->
image
;
sendImage
[
2
]
=
cv_bridge
::
toCvCopy
(
msg
->
Images
[
2
],
"bgr8"
)
->
image
;
}
//SDK_LOG(SDK_INFO, "camera msg [0] size = %d,[1] = %d,[2] = %d",msg->reses[0].results.size(), msg->reses[1].results.size(), msg->reses[2].results.size());
for
(
int
i
=
0
;
i
<
3
;
i
++
)
{
...
...
@@ -476,6 +490,11 @@ void TrackingRos::TrackingCameraCallBackFunc(const jfx_common_msgs::InferResesCo
float
bottom_center_y
=
float
(
y2
);
float
x
=
0.0
f
;
float
y
=
0.0
f
;
if
(
m_send_camera_image
==
1
&&
msg
->
Images
.
size
()
==
3
)
{
cv
::
Rect
rect
(
x1
,
y1
,
x2
-
x1
,
y2
-
y1
);
cv
::
rectangle
(
sendImage
[
i
],
rect
,
cv
::
Scalar
(
0
,
0
,
255
),
5
,
cv
::
LINE_8
,
0
);
}
if
(
i
==
0
)
{
if
(
m_camera_one_center_type
==
1
||
m_camera_one_center_type
==
2
)
...
...
@@ -568,6 +587,11 @@ void TrackingRos::TrackingCameraCallBackFunc(const jfx_common_msgs::InferResesCo
continue
;
}
}
if
(
m_send_camera_image
==
1
&&
msg
->
Images
.
size
()
==
3
)
{
cv
::
Point2f
point
(
bottom_center_x
,
bottom_center_y
);
cv
::
circle
(
sendImage
[
i
],
point
,
(
int
)
3
,
cv
::
Scalar
(
0
,
255
,
0
),
1
);
}
if
(
i
==
0
&&
m_camera_one_center_type
!=
2
)
objMsg
.
x
=
objMsg
.
x
+
(
objMsg
.
l
/
2
);
int
duplicate
=
0
;
...
...
@@ -609,11 +633,25 @@ void TrackingRos::TrackingCameraCallBackFunc(const jfx_common_msgs::InferResesCo
//SDK_LOG(SDK_INFO, "send camera i = %d, x = %f,y = %f",i, objMsg.x, objMsg.y);
objsPtr
->
array
.
push_back
(
objMsg
);
}
if
(
m_send_camera_image
==
1
&&
msg
->
Images
.
size
()
==
3
)
{
char
name
[
512
]
=
{};
sprintf
(
name
,
"[%.2f,%.2f]"
,
objMsg
.
x
,
objMsg
.
y
);
cv
::
putText
(
sendImage
[
i
],
name
,
cv
::
Point
(
bottom_center_x
,
bottom_center_y
),
cv
::
FONT_HERSHEY_PLAIN
,
1
,
cv
::
Scalar
(
255
,
23
,
0
),
1
,
1
);
}
}
}
}
}
if
(
m_send_camera_image
==
1
&&
msg
->
Images
.
size
()
==
3
)
{
sensor_msgs
::
ImagePtr
img_cameraFront
=
cv_bridge
::
CvImage
(
std_msgs
::
Header
(),
"bgr8"
,
sendImage
[
0
]).
toImageMsg
();
m_pubCameraFront
.
publish
(
img_cameraFront
);
sensor_msgs
::
ImagePtr
img_cameraRight
=
cv_bridge
::
CvImage
(
std_msgs
::
Header
(),
"bgr8"
,
sendImage
[
1
]).
toImageMsg
();
m_pubCameraRight
.
publish
(
img_cameraRight
);
sensor_msgs
::
ImagePtr
img_cameraLeft
=
cv_bridge
::
CvImage
(
std_msgs
::
Header
(),
"bgr8"
,
sendImage
[
2
]).
toImageMsg
();
m_pubCameraLeft
.
publish
(
img_cameraLeft
);
}
}
//SDK_LOG(SDK_INFO, "m_objsQueue push size = %d", objsPtr->array.size());
m_objsQueue
.
push
(
objsPtr
);
...
...
TrackingRosEx.h
View file @
5fc37ca9
...
...
@@ -51,6 +51,9 @@ public:
ros
::
Publisher
m_pubCloud
;
//发送点云数据
ros
::
Publisher
m_pubBoundingBoxes
;
//发送3D框信息
ros
::
Publisher
m_pubMarker
;
//发送marker信息
ros
::
Publisher
m_pubCameraFront
;
//发送前相机的图
ros
::
Publisher
m_pubCameraRight
;
//发送右相机的图
ros
::
Publisher
m_pubCameraLeft
;
//发送左相机的图
std
::
vector
<
std
::
vector
<
double
>>
m_trans
;
std
::
vector
<
std
::
vector
<
double
>>
m_kitti2origin
;
...
...
@@ -67,4 +70,5 @@ public:
int
m_camera_debug_type
=
0
;
//调试相机类型是否修改为7,0是正常,1是调试为7
int
m_right_left_camera_len
=
15
;
//左右相机的显示距离米数
int
m_front_camera_len
=
0
;
//-前相机过滤的距离米数,0是不过滤,70就是过滤70米,但不过滤行人和机动车
int
m_send_camera_image
=
0
;
//是否发送相机图像,0是不发送,1是发送
};
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