Skip to content

Commit 91e1657

Browse files
committed
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2 parents 4cf4cb0 + 6703cdd commit 91e1657

File tree

4 files changed

+55
-4
lines changed

4 files changed

+55
-4
lines changed

modules/line_descriptor/src/binary_descriptor.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,11 +625,12 @@ void BinaryDescriptor::computeImpl( const Mat& imageSrc, std::vector<KeyLine>& k
625625
/* delete useless OctaveSingleLines */
626626
for ( size_t i = 0; i < sl.size(); i++ )
627627
{
628-
for ( size_t j = 0; j < sl[i].size(); j++ )
628+
for ( size_t j = 0; j < sl[i].size(); )
629629
{
630630
//if( (int) ( sl[i][j] ).octaveCount > params.numOfOctave_ )
631631
if( (int) ( sl[i][j] ).octaveCount > octaveIndex )
632632
( sl[i] ).erase( ( sl[i] ).begin() + j );
633+
else j++;
633634
}
634635
}
635636

modules/ovis/include/opencv2/ovis.hpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ enum EntityProperty
4545
{
4646
ENTITY_MATERIAL,
4747
ENTITY_SCALE,
48+
ENTITY_AABB_WORLD
4849
};
4950

5051
/**
@@ -106,6 +107,14 @@ class CV_EXPORTS_W WindowScene {
106107
/// @overload
107108
CV_WRAP virtual void setEntityProperty(const String& name, int prop, const String& value) = 0;
108109

110+
/**
111+
* get the property of an entity
112+
* @param name entity name
113+
* @param prop @ref EntityProperty
114+
* @param value the value
115+
*/
116+
CV_WRAP virtual void getEntityProperty(const String& name, int prop, OutputArray value) = 0;
117+
109118
/**
110119
* convenience method to visualize a camera position
111120
*

modules/ovis/src/ovis.cpp

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,14 @@ void _createTexture(const String& name, Mat image)
4343
case CV_8UC1:
4444
format = PF_BYTE_L;
4545
break;
46+
case CV_16UC1:
47+
format = PF_L16;
48+
break;
49+
case CV_32FC1:
50+
format = PF_FLOAT32_R;
51+
break;
4652
default:
47-
CV_Error(Error::StsBadArg, "currently only CV_8UC1, CV_8UC3, CV_8UC4 textures are supported");
53+
CV_Error(Error::StsBadArg, "currently supported formats are only CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_32FC1");
4854
break;
4955
}
5056

@@ -388,18 +394,26 @@ class WindowSceneImpl : public WindowScene
388394
int dst_type;
389395
switch(src_type)
390396
{
397+
case PF_R8:
398+
case PF_L8:
399+
dst_type = CV_8U;
400+
break;
391401
case PF_BYTE_RGB:
392402
dst_type = CV_8UC3;
393403
break;
394404
case PF_BYTE_RGBA:
395405
dst_type = CV_8UC4;
396406
break;
407+
case PF_FLOAT32_R:
408+
dst_type = CV_32F;
409+
break;
397410
case PF_FLOAT32_RGB:
398411
dst_type = CV_32FC3;
399412
break;
400413
case PF_FLOAT32_RGBA:
401414
dst_type = CV_32FC4;
402415
break;
416+
case PF_L16:
403417
case PF_DEPTH16:
404418
dst_type = CV_16U;
405419
break;
@@ -549,6 +563,35 @@ class WindowSceneImpl : public WindowScene
549563
node.setScale(value[0], value[1], value[2]);
550564
}
551565

566+
void getEntityProperty(const String& name, int prop, OutputArray value)
567+
{
568+
SceneNode& node = _getSceneNode(sceneMgr, name);
569+
switch(prop)
570+
{
571+
case ENTITY_SCALE:
572+
{
573+
Vector3 s = node.getScale();
574+
Mat_<Real>(1, 3, s.ptr()).copyTo(value);
575+
return;
576+
}
577+
case ENTITY_AABB_WORLD:
578+
{
579+
Entity* ent = dynamic_cast<Entity*>(node.getAttachedObject(name));
580+
CV_Assert(ent && "invalid entity");
581+
AxisAlignedBox aabb = ent->getWorldBoundingBox(true);
582+
Vector3 mn = aabb.getMinimum();
583+
Vector3 mx = aabb.getMaximum();
584+
Mat_<Real> ret(2, 3);
585+
Mat_<Real>(1, 3, mn.ptr()).copyTo(ret.row(0));
586+
Mat_<Real>(1, 3, mx.ptr()).copyTo(ret.row(1));
587+
ret.copyTo(value);
588+
return;
589+
}
590+
default:
591+
CV_Error(Error::StsBadArg, "unsupported property");
592+
}
593+
}
594+
552595
void _createBackground()
553596
{
554597
String name = "_" + sceneMgr->getName() + "_DefaultBackground";

modules/sfm/include/opencv2/sfm/numeric.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@
3838

3939
#include <opencv2/core.hpp>
4040

41-
#include <Eigen/Core>
42-
4341
namespace cv
4442
{
4543
namespace sfm

0 commit comments

Comments
 (0)