mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-01 10:29:07 +08:00
c5b5b4ea11
`rtabmap-res_tool` is moved to a separate port because it is a host dependency, and actual dependencies of `rtabmap` are heavy and non opt-out. Only minimal patching needed. Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
97 lines
3.7 KiB
Diff
97 lines
3.7 KiB
Diff
diff --git a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h
|
|
index 2fc12a2..5219a38 100644
|
|
--- a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h
|
|
+++ b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h
|
|
@@ -39,6 +39,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
#if CV_MAJOR_VERSION >= 4
|
|
#include <opencv2/core/core_c.h>
|
|
|
|
+#include <rtabmap/core/rtabmap_core_export.h>
|
|
+
|
|
+namespace {
|
|
+
|
|
// Opencv4 doesn't expose those functions below anymore, we should recopy all of them!
|
|
int cvRodrigues2( const CvMat* src, CvMat* dst, CvMat* jacobian CV_DEFAULT(0))
|
|
{
|
|
@@ -919,13 +923,17 @@ void cvConvertPointsHomogeneous( const CvMat* _src, CvMat* _dst )
|
|
|
|
#endif // OpenCV3
|
|
|
|
+} // namespace
|
|
+
|
|
namespace rtabmap
|
|
{
|
|
|
|
void
|
|
+RTABMAP_CORE_EXPORT
|
|
icvGetRectanglesFisheye( const CvMat* cameraMatrix, const CvMat* distCoeffs,
|
|
const CvMat* R, const CvMat* newCameraMatrix, CvSize imgSize,
|
|
cv::Rect_<float>& inner, cv::Rect_<float>& outer )
|
|
+#ifdef RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION
|
|
{
|
|
const int N = 9;
|
|
int x, y, k;
|
|
@@ -967,12 +975,17 @@ icvGetRectanglesFisheye( const CvMat* cameraMatrix, const CvMat* distCoeffs,
|
|
inner = cv::Rect_<float>(iX0, iY0, iX1-iX0, iY1-iY0);
|
|
outer = cv::Rect_<float>(oX0, oY0, oX1-oX0, oY1-oY0);
|
|
}
|
|
+#else
|
|
+;
|
|
+#endif
|
|
|
|
-void cvStereoRectifyFisheye( const CvMat* _cameraMatrix1, const CvMat* _cameraMatrix2,
|
|
+void RTABMAP_CORE_EXPORT
|
|
+ cvStereoRectifyFisheye( const CvMat* _cameraMatrix1, const CvMat* _cameraMatrix2,
|
|
const CvMat* _distCoeffs1, const CvMat* _distCoeffs2,
|
|
CvSize imageSize, const CvMat* matR, const CvMat* matT,
|
|
CvMat* _R1, CvMat* _R2, CvMat* _P1, CvMat* _P2,
|
|
CvMat* matQ, int flags, double alpha, CvSize newImgSize )
|
|
+#ifdef RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION
|
|
{
|
|
double _om[3], _t[3] = {0}, _uu[3]={0,0,0}, _r_r[3][3], _pp[3][4];
|
|
double _ww[3], _wr[3][3], _z[3] = {0,0,0}, _ri[3][3], _w3[3];
|
|
@@ -1177,14 +1190,20 @@ void cvStereoRectifyFisheye( const CvMat* _cameraMatrix1, const CvMat* _cameraMa
|
|
cvConvert( &Q, matQ );
|
|
}
|
|
}
|
|
+#else
|
|
+;
|
|
+#endif
|
|
+
|
|
|
|
-void stereoRectifyFisheye( cv::InputArray _cameraMatrix1, cv::InputArray _distCoeffs1,
|
|
+void RTABMAP_CORE_EXPORT
|
|
+ stereoRectifyFisheye( cv::InputArray _cameraMatrix1, cv::InputArray _distCoeffs1,
|
|
cv::InputArray _cameraMatrix2, cv::InputArray _distCoeffs2,
|
|
cv::Size imageSize, cv::InputArray _Rmat, cv::InputArray _Tmat,
|
|
cv::OutputArray _Rmat1, cv::OutputArray _Rmat2,
|
|
cv::OutputArray _Pmat1, cv::OutputArray _Pmat2,
|
|
cv::OutputArray _Qmat, int flags,
|
|
double alpha, cv::Size newImageSize)
|
|
+#ifdef RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION
|
|
{
|
|
cv::Mat cameraMatrix1 = _cameraMatrix1.getMat(), cameraMatrix2 = _cameraMatrix2.getMat();
|
|
cv::Mat distCoeffs1 = _distCoeffs1.getMat(), distCoeffs2 = _distCoeffs2.getMat();
|
|
@@ -1238,6 +1257,9 @@ void stereoRectifyFisheye( cv::InputArray _cameraMatrix1, cv::InputArray _distCo
|
|
CvSize(newImageSize));
|
|
#endif
|
|
}
|
|
+#else
|
|
+;
|
|
+#endif
|
|
|
|
}
|
|
|
|
diff --git a/corelib/src/StereoCameraModel.cpp b/corelib/src/StereoCameraModel.cpp
|
|
index 421d3f4..e7c166c 100644
|
|
--- a/corelib/src/StereoCameraModel.cpp
|
|
+++ b/corelib/src/StereoCameraModel.cpp
|
|
@@ -34,6 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
#include <opencv2/imgproc/imgproc.hpp>
|
|
|
|
#if CV_MAJOR_VERSION > 2 or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10)))
|
|
+#define RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION
|
|
#include <rtabmap/core/stereo/stereoRectifyFisheye.h>
|
|
#endif
|
|
|