Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
282 commits
Select commit Hold shift + click to select a range
b37cfd3
changes
Jul 5, 2016
561be3d
added visualization commandline interface
Jul 6, 2016
242bd6e
added color to published clouds
Jul 6, 2016
9453459
during traveling...
Jul 9, 2016
0504598
started testing segmenter
Jul 9, 2016
e43fdb1
Removed unnecessary printouts
nilsbore Jul 14, 2016
78ce5f7
Merge remote-tracking branch 'origin/fix_masks' into integrate_object…
nilsbore Jul 14, 2016
c8da492
Merge branch 'publish_model_images' into integrate_object_search
nilsbore Jul 14, 2016
48e0645
Adding and retrieval somewhat working, also fixed a bug in retrieval_…
nilsbore Jul 16, 2016
ec53c12
Retrieval part now working, still small stuff left in viz
nilsbore Jul 16, 2016
dbbf672
working on segmentation
Jul 17, 2016
0e67f0e
added better support for frame to model registration
ekekrantz Jul 17, 2016
f5c78cb
started adding background
Jul 17, 2016
4ab038b
Got the viz working
nilsbore Jul 19, 2016
8908fda
Fixed bug and got logging server running with placehgolders
nilsbore Jul 19, 2016
04f0606
working on segmentation
Jul 27, 2016
ed1368b
added debugg to seg
Jul 27, 2016
f8d125b
small changes
ekekrantz Jul 27, 2016
6fc751a
working segmentation, edges added to registration
ekekrantz Jul 29, 2016
a7414ed
removed not needed dep, made registartion faster by not rematching no…
Aug 2, 2016
2311824
edge pickng
ekekrantz Aug 2, 2016
898d4d2
line dir extraction
Aug 4, 2016
061d813
working on coherent segmentation between frames
ekekrantz Aug 4, 2016
a773829
multi-frame robustness
Aug 4, 2016
58c3bda
fixed memmory leak in metaroom reader
ekekrantz Aug 5, 2016
05f5b0d
memmory profiling and adding of frame to frame inference
ekekrantz Aug 5, 2016
e42de08
fixed like 100 memleaks in simple_xml_parse.h
Aug 6, 2016
504f0d3
removing leaks
Aug 8, 2016
970bf8b
working on segmentation
ekekrantz Aug 9, 2016
0ed58f1
start of bilateral filter creation
Aug 10, 2016
a98b843
Fixed major issues to search for johan's data base models, testing re…
nilsbore Aug 10, 2016
db2b7bf
working on bilateral filering and adding services for segmentation on…
ekekrantz Aug 10, 2016
e6fdfd8
...
Aug 10, 2016
c8fe87c
Squashed all the bugs
nilsbore Aug 11, 2016
a25bc45
Removed debug code, now only fetching new observations every 10 minut…
nilsbore Aug 11, 2016
6014309
working on bilateral filter
ekekrantz Aug 11, 2016
1c5dbec
working on bilateral filter
Aug 12, 2016
de52350
integrating segmentation
ekekrantz Aug 12, 2016
5786714
trying new joint class inference
Aug 16, 2016
582b2cf
adding to semantic map
Aug 16, 2016
ed407e3
working on stability and integration of segmentation
ekekrantz Aug 17, 2016
507b349
integration with metarooms
ekekrantz Aug 18, 2016
76e3129
working on additional view registration and segmentation
Aug 18, 2016
fabb8a7
Managed to get incremental segmentation working in ROS
nilsbore Aug 19, 2016
55b1331
Changed defualt to wo incremental!
nilsbore Aug 19, 2016
0fdefbe
working in integrating segmentation of additional views
ekekrantz Aug 19, 2016
216b6ad
working on edges for image
Aug 21, 2016
2823876
segmentation improved!
ekekrantz Aug 22, 2016
7c3d657
improved segmentation app
ekekrantz Aug 23, 2016
718cd09
imp seg
ekekrantz Aug 24, 2016
2f54ad4
Incremental query now working also with mongodb queries
nilsbore Aug 25, 2016
295ce0d
memleeks, deps and segmentation
ekekrantz Aug 25, 2016
9e9a9a5
integration between segmentation and modelserver
ekekrantz Aug 26, 2016
8230a07
fire drill save
ekekrantz Aug 29, 2016
645a0a6
...
ekekrantz Aug 29, 2016
413043b
segmentation...
ekekrantz Aug 30, 2016
26d824f
...
ekekrantz Aug 31, 2016
67d2d03
Added a couple of new methods to vocabulary_tree to find the voc dist…
nilsbore Sep 2, 2016
5222838
Added the service for retrieval and added some new messages
nilsbore Sep 2, 2016
9fbcd9b
improvements to segmentation
ekekrantz Sep 2, 2016
e8ad668
...
ekekrantz Sep 5, 2016
ec318bf
Added ability to reload vocabulary in retrieval node if it changed in…
nilsbore Sep 5, 2016
2b8a456
added nils changes and retrieval to model database class
ekekrantz Sep 5, 2016
3d9f60f
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Sep 5, 2016
a5dc463
Added launch file for the object search system
nilsbore Sep 5, 2016
c57c919
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Sep 5, 2016
03cacfc
I have brilliant commit messages, lolz
ekekrantz Sep 5, 2016
f1e3da2
Trying to get this to run
ekekrantz Sep 5, 2016
c85abad
...
ekekrantz Sep 5, 2016
79332f2
Fixed all bugs for Johan, but mongodb does not support inserting all …
nilsbore Sep 6, 2016
9c0b145
fix segfault
ekekrantz Sep 6, 2016
0dff419
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Sep 6, 2016
9baa458
...
ekekrantz Sep 6, 2016
6bb0167
Checking if message not correct before returning
nilsbore Sep 7, 2016
785338a
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Sep 7, 2016
49eccd9
Added the vocabulary id to retrieval results
nilsbore Sep 7, 2016
99d7177
Also outputting the individual images from the visualization server
nilsbore Sep 7, 2016
7c5d383
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Sep 7, 2016
84e0743
...
ekekrantz Sep 7, 2016
cf83620
...
ekekrantz Sep 7, 2016
79b7d50
integration improved, modelserver cleaned etc
ekekrantz Sep 9, 2016
53c3420
working on surface merging
ekekrantz Sep 12, 2016
e034e09
Workaround for the mongodb message size problem, might turn this into…
nilsbore Sep 13, 2016
845d202
updated model reconstruction
ekekrantz Sep 13, 2016
d66d769
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Sep 13, 2016
a4163fc
working on ppr
ekekrantz Sep 13, 2016
2b96060
ppr3 + gaussian + ggd distribution implemented and used for normals
ekekrantz Sep 20, 2016
d58385d
...
ekekrantz Sep 20, 2016
e393bc4
Fixed a bug
nilsbore Sep 20, 2016
c5a812b
cleaned some prints
ekekrantz Sep 20, 2016
cf5edb2
adding and removing prints
ekekrantz Sep 20, 2016
9f2c63e
...
ekekrantz Sep 23, 2016
f45cc32
changes for porting to robot
ekekrantz Sep 26, 2016
77379dc
fixing semantic map integration with segmentationsever
ekekrantz Sep 26, 2016
c92bf6d
added segserver launch
ekekrantz Sep 26, 2016
48c848a
removed segserver from semantic map launcher
ekekrantz Sep 26, 2016
71651fd
...
ekekrantz Sep 27, 2016
28978a0
...
ekekrantz Sep 27, 2016
fe1556d
...
ekekrantz Sep 27, 2016
1a9a116
pulled out msgs and services from object managre to allow for multipl…
ekekrantz Sep 29, 2016
6bd3710
removed old msgs
ekekrantz Sep 29, 2016
ba632e8
broke out msgs and srv from semantic_map
ekekrantz Sep 29, 2016
5db8499
...
ekekrantz Sep 29, 2016
627cbf9
fixing issues
ekekrantz Sep 29, 2016
46f158e
removing object manager starting...
ekekrantz Sep 29, 2016
bbd80cd
...
ekekrantz Sep 29, 2016
5c578eb
getDynamic...
ekekrantz Sep 29, 2016
5392cc6
...
ekekrantz Sep 29, 2016
9fef875
...
ekekrantz Oct 3, 2016
d7ec1b7
Added ability to have several indices
nilsbore Oct 4, 2016
3b94d4e
quasimodo now replaces semantic map segmentation fully
ekekrantz Oct 4, 2016
b7ce668
...
ekekrantz Oct 4, 2016
bc8184f
...
ekekrantz Oct 4, 2016
f0c5fc9
...
ekekrantz Oct 4, 2016
7a9a627
...
ekekrantz Oct 4, 2016
fd877a0
...
ekekrantz Oct 4, 2016
00c685c
...
ekekrantz Oct 4, 2016
fc27c12
...
ekekrantz Oct 4, 2016
fa474fc
...
ekekrantz Oct 4, 2016
ae5ccdb
...
ekekrantz Oct 4, 2016
a7caf3a
...
ekekrantz Oct 4, 2016
37d895b
...
ekekrantz Oct 4, 2016
32281e4
...
ekekrantz Oct 4, 2016
caad3a4
...
ekekrantz Oct 4, 2016
ef4e6e1
...
ekekrantz Oct 4, 2016
44226bd
...
ekekrantz Oct 4, 2016
f1ad4bf
...
ekekrantz Oct 4, 2016
b862057
...
ekekrantz Oct 4, 2016
bb80efe
...
ekekrantz Oct 4, 2016
a899268
...
ekekrantz Oct 4, 2016
2ec8e24
...
ekekrantz Oct 6, 2016
24b9d6e
...
ekekrantz Oct 7, 2016
d041413
...
ekekrantz Oct 7, 2016
901d8be
...
ekekrantz Oct 7, 2016
3323562
...
ekekrantz Oct 7, 2016
38ab468
...
ekekrantz Oct 7, 2016
cf80afb
...
ekekrantz Oct 7, 2016
b0e523b
...
ekekrantz Oct 7, 2016
72de014
...
ekekrantz Oct 7, 2016
3f91201
...
ekekrantz Oct 7, 2016
9ab49d5
...
ekekrantz Oct 7, 2016
21d5610
...
ekekrantz Oct 7, 2016
91ae962
...
ekekrantz Oct 7, 2016
7b81ea1
...
ekekrantz Oct 7, 2016
7f5309c
...
ekekrantz Oct 7, 2016
d5819a8
...
ekekrantz Oct 10, 2016
b536228
...
ekekrantz Oct 11, 2016
51f7f76
...
ekekrantz Oct 11, 2016
f27ecb6
...
ekekrantz Oct 14, 2016
e30215d
...
ekekrantz Oct 18, 2016
f281d19
....
ekekrantz Oct 19, 2016
a6c133f
....
ekekrantz Oct 19, 2016
aca502a
...
ekekrantz Oct 21, 2016
604a7a4
...
ekekrantz Oct 24, 2016
a045542
...
ekekrantz Oct 27, 2016
8884d76
...
ekekrantz Oct 28, 2016
b92a577
added visuals
Oct 31, 2016
addb548
added lots of functionality to store debugg visualization
ekekrantz Oct 31, 2016
057bf73
added some more saving of output
ekekrantz Nov 1, 2016
9c15663
...
ekekrantz Nov 1, 2016
f9f0fd5
...
ekekrantz Nov 1, 2016
89c9665
...
ekekrantz Nov 2, 2016
35af1ca
added installtargets
ekekrantz Nov 3, 2016
8b77347
debugging
ekekrantz Nov 4, 2016
5fa9c9c
...
ekekrantz Nov 4, 2016
e2dff04
debugg
ekekrantz Nov 4, 2016
0354a38
...
ekekrantz Nov 4, 2016
9b4b494
...
ekekrantz Nov 4, 2016
a4ae313
...
ekekrantz Nov 4, 2016
5aa7bd8
...
ekekrantz Nov 4, 2016
9f4d155
...
ekekrantz Nov 4, 2016
e5bef31
...
ekekrantz Nov 4, 2016
40148da
...
ekekrantz Nov 4, 2016
c66979e
...
ekekrantz Nov 4, 2016
70ea18d
...
ekekrantz Nov 4, 2016
8e8ebe6
...
ekekrantz Nov 4, 2016
af2d1fb
...
ekekrantz Nov 4, 2016
cc65821
Added the quasimodo conversions package
nilsbore Nov 7, 2016
ed0a6f5
Added catkin ignore to conversions package until soma_llsd is part of…
nilsbore Nov 7, 2016
1b1bd39
Disabled building of the stopwatch project when compiling with catkiN
nilsbore Nov 7, 2016
515a446
Added json serialization for eigen
nilsbore Nov 7, 2016
f89cc5f
Fixed install bug in quasimodo models
nilsbore Nov 7, 2016
a5d4943
Added install target for quasimodo object search
nilsbore Nov 7, 2016
7cee254
Changed from soma2 to soma
nilsbore Nov 7, 2016
20adc85
bugfixxes and such
ekekrantz Nov 7, 2016
e68c999
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Nov 7, 2016
15f5a82
fix to compilation error
ekekrantz Nov 7, 2016
2ea84bc
added reaction to additional view output
ekekrantz Nov 7, 2016
9c9b997
...
ekekrantz Nov 8, 2016
92748bc
pre loading of pcd objects added
ekekrantz Nov 8, 2016
200c496
...
ekekrantz Nov 8, 2016
46b109f
merge etc
ekekrantz Nov 9, 2016
98465a9
...
ekekrantz Nov 10, 2016
31331a7
Fixed the last soma2 include
nilsbore Nov 14, 2016
390371b
changes to metaroom calib
ekekrantz Nov 15, 2016
5e216b3
working on sweep registration
ekekrantz Nov 16, 2016
ae82e02
test on tsc data
ekekrantz Nov 18, 2016
0bea40e
...
ekekrantz Nov 19, 2016
0ad303a
Added a new method for constructing soma_llsd scenes
nilsbore Nov 21, 2016
24f70ca
integrate people rejection
ekekrantz Nov 21, 2016
a0dacc7
cleaning xml parser
ekekrantz Nov 21, 2016
c001f91
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Nov 21, 2016
9b953c4
Added new function for adding segments
nilsbore Nov 21, 2016
d5bd83c
working on soma integration
ekekrantz Nov 21, 2016
2537b83
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Nov 21, 2016
d48b0aa
soma message integration for segmentation done
ekekrantz Nov 21, 2016
2e7ba09
Added an option for the starting sweep number
nilsbore Nov 22, 2016
88cfc3b
Good parameters for deployment
nilsbore Nov 22, 2016
5f436ed
Added the visualizer
nilsbore Nov 22, 2016
a20c5bd
lots of changes in process of adding support for the scens objects
ekekrantz Nov 22, 2016
0edf6ef
...
ekekrantz Nov 22, 2016
d4ec82a
...
ekekrantz Nov 22, 2016
488b240
Added script for removing all models
nilsbore Nov 23, 2016
992083f
Added script for removing all models
nilsbore Nov 23, 2016
7730613
Added script for removing all models
nilsbore Nov 23, 2016
10a8da6
Working
nilsbore Nov 23, 2016
9f70bfa
Fast commit! GOTTA RUN!
ekekrantz Nov 23, 2016
6bcafee
cleaned in sweep reg
ekekrantz Nov 24, 2016
1247839
updated fastload of data
ekekrantz Nov 24, 2016
9464ab1
...
ekekrantz Nov 24, 2016
d6b4b3c
removed soma2 etc
ekekrantz Nov 24, 2016
3fa705e
...
ekekrantz Nov 24, 2016
44e87f7
bugfix and working on soma stuff
ekekrantz Nov 25, 2016
10290a4
...
ekekrantz Nov 25, 2016
dd6892f
...
ekekrantz Nov 25, 2016
6edfdfb
...
ekekrantz Nov 25, 2016
c2f10c6
...
ekekrantz Nov 25, 2016
0eccd5a
...
ekekrantz Nov 25, 2016
9eb047f
...
ekekrantz Nov 25, 2016
0b21a28
...
ekekrantz Nov 25, 2016
a964d96
Fixed conversion
Nov 25, 2016
52266da
Merge pull request #1 from nilsbore/segmentation
jekekrantz Nov 25, 2016
13e59ae
Changed to correct normalization
Nov 26, 2016
21711cc
Testing configuration
Nov 26, 2016
32816c2
Fixed potential problem with querying and reloading
nilsbore Nov 27, 2016
7077a08
That was too short
nilsbore Nov 27, 2016
b92b94e
Fixed some small stuff to make this work better with JOhan's code
nilsbore Nov 28, 2016
3706bf4
Added a publisher in the data visualizer
nilsbore Nov 28, 2016
37af7ab
Merge remote-tracking branch 'origin/object_visualizer' into object_v…
nilsbore Nov 28, 2016
2417d53
Added a couple of packages to make starting work
nilsbore Nov 28, 2016
c9de39d
Merge remote-tracking branch 'origin/segmentation' into segmentation
nilsbore Nov 28, 2016
3685e0f
Merge pull request #2 from nilsbore/segmentation
jekekrantz Nov 28, 2016
84845c8
...
ekekrantz Nov 28, 2016
fb682b6
Merge remote-tracking branch 'NILS/integrate_object_search' into segm…
ekekrantz Nov 28, 2016
8c4719a
Merged integrate
nilsbore Nov 28, 2016
15c2255
Merge remote-tracking branch 'NILS/object_visualizer' into segmentation
ekekrantz Nov 28, 2016
f8c452e
...
ekekrantz Nov 29, 2016
f31fd34
...
ekekrantz Nov 29, 2016
1923d59
...
ekekrantz Dec 9, 2016
768222b
removing exit 0
ekekrantz Dec 9, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
412 changes: 398 additions & 14 deletions calibrate_sweeps/src/calibrate_sweep_action_server.cpp

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions cloud_merge/include/cloud_merge/cloud_merge_node.h
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ void CloudMergeNode<PointType>::controlCallback(const std_msgs::String& controlS
}

if (controlString.data == "end_sweep")
{
{
ROS_INFO_STREAM("Pan tilt sweep stopped");
m_bAquisitionPhase = false;

Expand Down Expand Up @@ -483,8 +483,8 @@ void CloudMergeNode<PointType>::controlCallback(const std_msgs::String& controlS
std::string roomXMLPath = parser.saveRoomAsXML(aSemanticRoom);
ROS_INFO_STREAM("Saved semantic room");

if (m_bRegisterAndCorrectSweep)
{
if (m_bRegisterAndCorrectSweep)
{
// load precalibrated camera poses
// std::vector<tf::StampedTransform> regTransforms = semantic_map_registration_transforms::loadRegistrationTransforms("default", true);
std::vector<tf::StampedTransform> corresponding_registeredPoses;
Expand Down Expand Up @@ -541,7 +541,7 @@ void CloudMergeNode<PointType>::controlCallback(const std_msgs::String& controlS
reg.saveOrbFeatures<PointType>(aSemanticRoom,base_path);

}
}
}

// Pulbish room observation
semantic_map::RoomObservation obs_msg;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,18 @@ using CloudT = pcl::PointCloud<PointT>;
namespace benchmark_retrieval {

void put_text(cv::Mat& image, const std::string& text);
cv::Mat make_image(std::vector<CloudT::Ptr>& results, const Eigen::Matrix4f& room_transform,
std::vector<boost::filesystem::path>& sweep_paths, const std::vector<std::string>& optional_text);
std::pair<cv::Mat, std::vector<cv::Mat> > make_image(std::vector<CloudT::Ptr>& results, const Eigen::Matrix4f& room_transform,
std::vector<boost::filesystem::path>& sweep_paths, const std::vector<std::string>& optional_text);
cv::Mat add_query_image(cv::Mat& results, cv::Mat& query_image, const std::string& query_label);

// this will alter the look of the point clouds, but for the better I think
//template <typename IndexT, typename PathT>
cv::Mat make_visualization_image(cv::Mat& query_image, const std::string& query_label, std::vector<CloudT::Ptr>& clouds,
std::vector<boost::filesystem::path>& sweep_paths, const std::vector<std::string>& optional_text,
const Eigen::Matrix4f& T);
cv::Mat make_visualization_image(cv::Mat& query_image, const std::string& query_label, std::vector<CloudT::Ptr>& clouds,
std::vector<boost::filesystem::path>& sweep_paths, const std::vector<std::string>& optional_text,
const Eigen::Matrix4f& T, std::vector<cv::Mat>& individual_images);
cv::Mat make_visualization_image(CloudT::Ptr& query_cloud, cv::Mat& query_mask, const boost::filesystem::path& query_path,
const Eigen::Matrix3f& K, const Eigen::Matrix4f& query_transform,
const std::string& query_label, std::vector<CloudT::Ptr>& clouds,
Expand Down
28 changes: 22 additions & 6 deletions dynamic_object_retrieval/benchmark/src/benchmark_visualization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,23 @@ cv::Mat make_visualization_image(cv::Mat& query_image, const string& query_label
p.getVector4fMap() = T*p.getVector4fMap();
}
}*/
cv::Mat result_image = make_image(clouds, T, sweep_paths, optional_text);
cv::Mat result_image;
vector<cv::Mat> individual_images;
tie(result_image, individual_images) = make_image(clouds, T, sweep_paths, optional_text);
return add_query_image(result_image, query_image, query_label);
//return result_image;
}

cv::Mat make_visualization_image(cv::Mat& query_image, const string& query_label, vector<CloudT::Ptr>& clouds,
vector<boost::filesystem::path>& sweep_paths, const vector<string>& optional_text,
const Eigen::Matrix4f& T, vector<cv::Mat>& individual_images)
{
cv::Mat result_image;
tie(result_image, individual_images) = make_image(clouds, T, sweep_paths, optional_text);
individual_images.insert(individual_images.begin(), query_image.clone());
return add_query_image(result_image, query_image, query_label);
}

cv::Mat make_visualization_image(CloudT::Ptr& query_cloud, cv::Mat& query_mask, const boost::filesystem::path& query_path,
const Eigen::Matrix3f& K, const Eigen::Matrix4f& query_transform,
const string& query_label, vector<CloudT::Ptr>& clouds,
Expand Down Expand Up @@ -70,7 +82,9 @@ cv::Mat make_visualization_image(CloudT::Ptr& query_cloud, cv::Mat& query_mask,
cv::Mat inverted_mask;
cv::bitwise_not(query_mask, inverted_mask);
image.setTo(cv::Scalar(255, 255, 255), inverted_mask);
cv::Mat result_image = make_image(clouds, T, sweep_paths, optional_text);
cv::Mat result_image;
vector<cv::Mat> individual_images;
tie(result_image, individual_images) = make_image(clouds, T, sweep_paths, optional_text);
return add_query_image(result_image, image, query_label);
//return result_image;
}
Expand Down Expand Up @@ -244,15 +258,16 @@ cv::Mat render_image(CloudT::Ptr& cloud, const Eigen::Matrix4f& T, const Eigen::
}

// the question is if we actually need the paths for this?
cv::Mat make_image(std::vector<CloudT::Ptr>& results, const Eigen::Matrix4f& room_transform,
vector<boost::filesystem::path>& sweep_paths, const std::vector<std::string>& optional_text)
pair<cv::Mat, vector<cv::Mat> > make_image(std::vector<CloudT::Ptr>& results, const Eigen::Matrix4f& room_transform,
vector<boost::filesystem::path>& sweep_paths, const std::vector<std::string>& optional_text)
{
pair<int, int> sizes = make_pair(1, 10);//get_similar_sizes(results.size());
pair<int, int> sizes = make_pair(1, std::min(10, int(results.size())));//get_similar_sizes(results.size());

int width = 200;
int height = 200;

cv::Mat visualization = cv::Mat::zeros(height*sizes.first, width*sizes.second, CV_8UC3);
vector<cv::Mat> individual_images;

int counter = 0;
for (CloudT::Ptr& cloud : results) {
Expand Down Expand Up @@ -327,6 +342,7 @@ cv::Mat make_image(std::vector<CloudT::Ptr>& results, const Eigen::Matrix4f& roo
int offset_height = counter / sizes.second;
int offset_width = counter % sizes.second;
sub_image.copyTo(visualization(cv::Rect(offset_width*width, offset_height*height, width, height)));
individual_images.push_back(sub_image);

//cv::imshow("test", visualization);
//cv::waitKey();
Expand All @@ -338,7 +354,7 @@ cv::Mat make_image(std::vector<CloudT::Ptr>& results, const Eigen::Matrix4f& roo
visualization = cv::Mat::zeros(height*2, width*5, CV_8UC3);
}

return visualization;
return make_pair(visualization, individual_images);
}

} // namespace benchmark_retrieval
27 changes: 15 additions & 12 deletions dynamic_object_retrieval/dynamic_object_retrieval/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,17 @@ add_definitions(-std=c++11 -O3)
# Show where to find the find package scripts
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")

set(stopwatch_dir ${CMAKE_CURRENT_SOURCE_DIR}/stopwatch)
set(stopwatch_include_dir ${stopwatch_dir}/src)

# Define the locations of the k_means_tree project
# If using catkin, including it using catkin instead
if (catkin_FOUND)
find_package(catkin REQUIRED COMPONENTS roscpp tf tf_conversions pcl_ros
metaroom_xml_parser object_manager k_means_tree convex_segmentation)
set(ROS_LIBRARIES ${catkin_LIBRARIES})
include_directories(${catkin_INCLUDE_DIRS})
#set(stopwatch_library_dir ${CATKIN_DEVEL_PREFIX}/stopwatch/build)
else()
set(k_means_tree_dir ${CMAKE_CURRENT_SOURCE_DIR}/../k_means_tree)
set(k_means_tree_library_dir ${k_means_tree_dir}/build)
Expand Down Expand Up @@ -57,24 +61,23 @@ else()

# Define the locations of cereal serialization header files
set(cereal_include_dir ${CMAKE_CURRENT_SOURCE_DIR}/../k_means_tree/cereal/include)

# Only compile the stopwatch project if it's not with catkin
include_directories(${cereal_include_dir})
set(stopwatch_library_dir ${stopwatch_dir}/build)
# Compile the stopwatch project, needed for this
ExternalProject_Add(stopwatch_project
DOWNLOAD_COMMAND ""
SOURCE_DIR ${stopwatch_include_dir}
BINARY_DIR ${stopwatch_library_dir}
BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}
INSTALL_COMMAND ""
)
endif()

# Eh, we need to somehow build this maybe?
set(stopwatch_dir ${CMAKE_CURRENT_SOURCE_DIR}/stopwatch)
set(stopwatch_include_dir ${stopwatch_dir}/src)
set(stopwatch_library_dir ${stopwatch_dir}/build)
include_directories(${stopwatch_include_dir})

# Compile the stopwatch project, needed for this
ExternalProject_Add(stopwatch_project
DOWNLOAD_COMMAND ""
SOURCE_DIR ${stopwatch_include_dir}
BINARY_DIR ${stopwatch_library_dir}
BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}
INSTALL_COMMAND ""
)

# Find PCL
find_package(PCL 1.6 REQUIRED COMPONENTS common io search visualization surface kdtree features surface segmentation octree filter keypoints)
include_directories(${PCL_INCLUDE_DIRS})
Expand Down
Loading