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

View File

@@ -131,6 +131,7 @@ private:
QLabel * labelId,
QLabel * labelMapId,
QLabel * labelPose,
QLabel * labeCalib,
bool updateConstraintView);
void updateStereo(const SensorData * data);
void updateWordsMatching();

View File

@@ -2059,6 +2059,7 @@ void DatabaseViewer::sliderAValueChanged(int value)
ui_->label_idA,
ui_->label_mapA,
ui_->label_poseA,
ui_->label_calibA,
true);
}
@@ -2076,6 +2077,7 @@ void DatabaseViewer::sliderBValueChanged(int value)
ui_->label_idB,
ui_->label_mapB,
ui_->label_poseB,
ui_->label_calibB,
true);
}
@@ -2091,6 +2093,7 @@ void DatabaseViewer::update(int value,
QLabel * labelId,
QLabel * labelMapId,
QLabel * labelPose,
QLabel * labelCalib,
bool updateConstraintView)
{
UTimer timer;
@@ -2102,6 +2105,7 @@ void DatabaseViewer::update(int value,
labelMapId->clear();
labelPose->clear();
stamp->clear();
labelCalib->clear();
QRectF rect;
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"));
}
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
if(!data.depthOrRightRaw().empty() && data.depthOrRightRaw().type() == CV_8UC1)
@@ -2811,6 +2862,7 @@ void DatabaseViewer::updateConstraintView(
ui_->label_idA,
ui_->label_mapA,
ui_->label_poseA,
ui_->label_calibA,
false); // don't update constraints view!
this->update(idToIndex_.value(link.to()),
ui_->label_indexB,
@@ -2824,6 +2876,7 @@ void DatabaseViewer::updateConstraintView(
ui_->label_idB,
ui_->label_mapB,
ui_->label_poseB,
ui_->label_calibB,
false); // don't update constraints view!
}

View File

@@ -51,33 +51,12 @@
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>205</width>
<height>184</height>
<y>-24</y>
<width>190</width>
<height>208</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout" rowstretch="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>
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0,0,0,0,0,0" columnstretch="1,1">
<item row="1" column="1">
<widget class="QLabel" name="label_childrenA">
<property name="text">
@@ -148,6 +127,27 @@
</property>
</widget>
</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">
<widget class="QLabel" name="label_poseA">
<property name="text">
@@ -155,6 +155,20 @@
</property>
</widget>
</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>
</widget>
</widget>
@@ -171,9 +185,9 @@
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>203</width>
<height>184</height>
<y>-24</y>
<width>188</width>
<height>208</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
@@ -275,6 +289,20 @@
</property>
</widget>
</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>
</widget>
</widget>