mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-04 00:37:46 +08:00
DbViewer: Added calibration info
This commit is contained in:
@@ -131,6 +131,7 @@ private:
|
|||||||
QLabel * labelId,
|
QLabel * labelId,
|
||||||
QLabel * labelMapId,
|
QLabel * labelMapId,
|
||||||
QLabel * labelPose,
|
QLabel * labelPose,
|
||||||
|
QLabel * labeCalib,
|
||||||
bool updateConstraintView);
|
bool updateConstraintView);
|
||||||
void updateStereo(const SensorData * data);
|
void updateStereo(const SensorData * data);
|
||||||
void updateWordsMatching();
|
void updateWordsMatching();
|
||||||
|
|||||||
@@ -2059,6 +2059,7 @@ void DatabaseViewer::sliderAValueChanged(int value)
|
|||||||
ui_->label_idA,
|
ui_->label_idA,
|
||||||
ui_->label_mapA,
|
ui_->label_mapA,
|
||||||
ui_->label_poseA,
|
ui_->label_poseA,
|
||||||
|
ui_->label_calibA,
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2076,6 +2077,7 @@ void DatabaseViewer::sliderBValueChanged(int value)
|
|||||||
ui_->label_idB,
|
ui_->label_idB,
|
||||||
ui_->label_mapB,
|
ui_->label_mapB,
|
||||||
ui_->label_poseB,
|
ui_->label_poseB,
|
||||||
|
ui_->label_calibB,
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2091,6 +2093,7 @@ void DatabaseViewer::update(int value,
|
|||||||
QLabel * labelId,
|
QLabel * labelId,
|
||||||
QLabel * labelMapId,
|
QLabel * labelMapId,
|
||||||
QLabel * labelPose,
|
QLabel * labelPose,
|
||||||
|
QLabel * labelCalib,
|
||||||
bool updateConstraintView)
|
bool updateConstraintView)
|
||||||
{
|
{
|
||||||
UTimer timer;
|
UTimer timer;
|
||||||
@@ -2102,6 +2105,7 @@ void DatabaseViewer::update(int value,
|
|||||||
labelMapId->clear();
|
labelMapId->clear();
|
||||||
labelPose->clear();
|
labelPose->clear();
|
||||||
stamp->clear();
|
stamp->clear();
|
||||||
|
labelCalib->clear();
|
||||||
QRectF rect;
|
QRectF rect;
|
||||||
if(value >= 0 && value < ids_.size())
|
if(value >= 0 && value < ids_.size())
|
||||||
{
|
{
|
||||||
@@ -2163,6 +2167,53 @@ void DatabaseViewer::update(int value,
|
|||||||
{
|
{
|
||||||
stamp->setText(QDateTime::fromMSecsSinceEpoch(s*1000.0).toString("dd.MM.yyyy hh:mm:ss.zzz"));
|
stamp->setText(QDateTime::fromMSecsSinceEpoch(s*1000.0).toString("dd.MM.yyyy hh:mm:ss.zzz"));
|
||||||
}
|
}
|
||||||
|
if(data.cameraModels().size() || data.stereoCameraModel().isValidForProjection())
|
||||||
|
{
|
||||||
|
if(data.cameraModels().size())
|
||||||
|
{
|
||||||
|
if(!data.depthRaw().empty() && data.depthRaw().cols!=data.imageRaw().cols && data.imageRaw().cols)
|
||||||
|
{
|
||||||
|
labelCalib->setText(tr("%1 %2x%3 [%8x%9] fx=%4 fy=%5 cx=%6 cy=%7")
|
||||||
|
.arg(data.cameraModels().size())
|
||||||
|
.arg(data.cameraModels()[0].imageWidth()>0?data.cameraModels()[0].imageWidth():data.imageRaw().cols/data.cameraModels().size())
|
||||||
|
.arg(data.cameraModels()[0].imageHeight()>0?data.cameraModels()[0].imageHeight():data.imageRaw().rows)
|
||||||
|
.arg(data.cameraModels()[0].fx())
|
||||||
|
.arg(data.cameraModels()[0].fy())
|
||||||
|
.arg(data.cameraModels()[0].cx())
|
||||||
|
.arg(data.cameraModels()[0].cy())
|
||||||
|
.arg(data.depthRaw().cols/data.cameraModels().size())
|
||||||
|
.arg(data.depthRaw().rows));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labelCalib->setText(tr("%1 %2x%3 fx=%4 fy=%5 cx=%6 cy=%7")
|
||||||
|
.arg(data.cameraModels().size())
|
||||||
|
.arg(data.cameraModels()[0].imageWidth()>0?data.cameraModels()[0].imageWidth():data.imageRaw().cols/data.cameraModels().size())
|
||||||
|
.arg(data.cameraModels()[0].imageHeight()>0?data.cameraModels()[0].imageHeight():data.imageRaw().rows)
|
||||||
|
.arg(data.cameraModels()[0].fx())
|
||||||
|
.arg(data.cameraModels()[0].fy())
|
||||||
|
.arg(data.cameraModels()[0].cx())
|
||||||
|
.arg(data.cameraModels()[0].cy()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//stereo
|
||||||
|
labelCalib->setText(tr("%1x%2 fx=%3 fy=%4 cx=%5 cy=%6 baseline=%7m")
|
||||||
|
.arg(data.stereoCameraModel().left().imageWidth()>0?data.stereoCameraModel().left().imageWidth():data.imageRaw().cols)
|
||||||
|
.arg(data.stereoCameraModel().left().imageHeight()>0?data.stereoCameraModel().left().imageHeight():data.imageRaw().rows)
|
||||||
|
.arg(data.stereoCameraModel().left().fx())
|
||||||
|
.arg(data.stereoCameraModel().left().fy())
|
||||||
|
.arg(data.stereoCameraModel().left().cx())
|
||||||
|
.arg(data.stereoCameraModel().left().cy())
|
||||||
|
.arg(data.stereoCameraModel().baseline()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labelCalib->setText("NA");
|
||||||
|
}
|
||||||
|
|
||||||
//stereo
|
//stereo
|
||||||
if(!data.depthOrRightRaw().empty() && data.depthOrRightRaw().type() == CV_8UC1)
|
if(!data.depthOrRightRaw().empty() && data.depthOrRightRaw().type() == CV_8UC1)
|
||||||
@@ -2811,6 +2862,7 @@ void DatabaseViewer::updateConstraintView(
|
|||||||
ui_->label_idA,
|
ui_->label_idA,
|
||||||
ui_->label_mapA,
|
ui_->label_mapA,
|
||||||
ui_->label_poseA,
|
ui_->label_poseA,
|
||||||
|
ui_->label_calibA,
|
||||||
false); // don't update constraints view!
|
false); // don't update constraints view!
|
||||||
this->update(idToIndex_.value(link.to()),
|
this->update(idToIndex_.value(link.to()),
|
||||||
ui_->label_indexB,
|
ui_->label_indexB,
|
||||||
@@ -2824,6 +2876,7 @@ void DatabaseViewer::updateConstraintView(
|
|||||||
ui_->label_idB,
|
ui_->label_idB,
|
||||||
ui_->label_mapB,
|
ui_->label_mapB,
|
||||||
ui_->label_poseB,
|
ui_->label_poseB,
|
||||||
|
ui_->label_calibB,
|
||||||
false); // don't update constraints view!
|
false); // don't update constraints view!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,33 +51,12 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>-24</y>
|
||||||
<width>205</width>
|
<width>190</width>
|
||||||
<height>184</height>
|
<height>208</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0,0,0,0,0" columnstretch="1,1">
|
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0,0,0,0,0,0" columnstretch="1,1">
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label_parentsA_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Parents</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLabel" name="label_parentsA">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_childrenA_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Children</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLabel" name="label_childrenA">
|
<widget class="QLabel" name="label_childrenA">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -148,6 +127,27 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_parentsA_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Parents</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="label_parentsA">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_childrenA_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Children</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="5" column="1">
|
||||||
<widget class="QLabel" name="label_poseA">
|
<widget class="QLabel" name="label_poseA">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -155,6 +155,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="label_childrenA_14">
|
||||||
|
<property name="text">
|
||||||
|
<string>Calib</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="QLabel" name="label_calibA">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
@@ -171,9 +185,9 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>-24</y>
|
||||||
<width>203</width>
|
<width>188</width>
|
||||||
<height>184</height>
|
<height>208</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
|
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
|
||||||
@@ -275,6 +289,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="label_childrenA_15">
|
||||||
|
<property name="text">
|
||||||
|
<string>Calib</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="QLabel" name="label_calibB">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
|||||||
Reference in New Issue
Block a user