DbViewer: Added calibration info

This commit is contained in:
matlabbe
2016-04-07 12:15:58 -04:00
parent 748360aac7
commit d5553db9eb
3 changed files with 110 additions and 28 deletions
@@ -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();
+53
View File
@@ -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!
} }
+56 -28
View File
@@ -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>