Comments (5)
我也遇到了一样的问题,我发现是extrinsic_params向量的第四个参数过大,也就是平移过大
from camvox.
我也是遇到了同样问题,但我发现问题出现在calibrating.cc文件中Mat Calibrating::convertByIntensity(const Vector6d &calib_params)
中的image_project.at<ushort>(point_2d.y, point_2d.x) = intensity
,这一行导致出错。
from camvox.
我调试发现是Calibrating.cc里的Calibrating初始化函数里
loadParams(strSettingPath_);
这句出了问题,奇怪的是,我直接把loadParams函数里的内容复制到Calibrating里,然后把调用loadParams的语句注释,就不会出这个问题了。现在程序应该可以正常运行。
代码如下:
Calibrating::Calibrating(string _strSettingPath, string _RGB_path, string _Pcd_path, string _Projection_type, bool _isEnhanceImg, bool _isFillImg) : mbResetRequested(false), mbFinishRequested(false), mbFinished(true), mbStopped(false), mbStopRequested(false), mbNotStop(false), mbCalibrating(false), mbOptimizing(false)
{
// initialize parameters
depth_edge_threshold_ = 80;
best_r_ = 0;
best_p_ = 0;
best_y_ = 0;
optimize_type = 0;
loadPcd(_Pcd_path);
//loadParams(strSettingPath_);
// loadParams 在上面运行时会出现segement failed,这样写就不会
{
cv::FileStorage fSettings(_strSettingPath, cv::FileStorage::READ);
if (!fSettings.isOpened())
{
cerr << "Failed to open settings file at: " << _strSettingPath << endl;
exit(-1);
}
fx_ = fSettings["Camera.fx"];
fy_ = fSettings["Camera.fy"];
cx_ = fSettings["Camera.cx"];
cy_ = fSettings["Camera.cy"];
k1_ = fSettings["Camera.k1"];
k2_ = fSettings["Camera.k2"];
p1_ = fSettings["Camera.P1"];
p2_ = fSettings["Camera.P2"];
k3_ = fSettings["Camera.k3"];
bf = fSettings["Camera.bf"];
width_ = fSettings["Camera.width"];
height_ = fSettings["Camera.height"];
rect_.x = fSettings["Rect.x"];
rect_.y = fSettings["Rect.y"];
rect_.width = fSettings["Rect.width"];
rect_.height = fSettings["Rect.height"];
mDepthMapFactor_ = fSettings["DepthMapFactor"];
mDepthMapFactor_ = 1 / mDepthMapFactor_;
}
另外需要注意的是System.cc和Calibrating.cc在这里是直接被编译成动态链接库被调用,如果要修改的话,可以将online文件夹里的CMakeLists.txt文件中的
${PROJECT_SOURCE_DIR}/../../lib/libCamvox.so
注释掉,并加入:
add_library(${PROJECT_NAME} SHARED
${PROJECT_SOURCE_DIR}/../../src/System.cc
${PROJECT_SOURCE_DIR}/../../src/Tracking.cc
${PROJECT_SOURCE_DIR}/../../src/LocalMapping.cc
${PROJECT_SOURCE_DIR}/../../src/LoopClosing.cc
${PROJECT_SOURCE_DIR}/../../src/ORBextractor.cc
${PROJECT_SOURCE_DIR}/../../src/ORBmatcher.cc
${PROJECT_SOURCE_DIR}/../../src/FrameDrawer.cc
${PROJECT_SOURCE_DIR}/../../src/Converter.cc
${PROJECT_SOURCE_DIR}/../../src/MapPoint.cc
${PROJECT_SOURCE_DIR}/../../src/KeyFrame.cc
${PROJECT_SOURCE_DIR}/../../src/Map.cc
${PROJECT_SOURCE_DIR}/../../src/MapDrawer.cc
${PROJECT_SOURCE_DIR}/../../src/Optimizer.cc
${PROJECT_SOURCE_DIR}/../../src/PnPsolver.cc
${PROJECT_SOURCE_DIR}/../../src/Frame.cc
${PROJECT_SOURCE_DIR}/../../src/KeyFrameDatabase.cc
${PROJECT_SOURCE_DIR}/../../src/Sim3Solver.cc
${PROJECT_SOURCE_DIR}/../../src/Viewer.cc
${PROJECT_SOURCE_DIR}/../../src/pointcloudmapping.cc
${PROJECT_SOURCE_DIR}/../../src/Calibrating.cc
)
最后一行改成
target_link_libraries(camvox ${LIBS} ${PROJECT_NAME})
from camvox.
其实是 Calibrating.cc 中的 strSettingPath_ RGBPath PcdPath_ 以及 System.cc 中的 strSettingPath RGBPath PcdPath要改成自己工程的路径
from camvox.
Related Issues (20)
- 请问,你们给相机配的什么型号的镜头?
- MV-CE060-10UC ROS driver? HOT 1
- 关于内外参问题 HOT 4
- question related to construction of the range image from lidar pointcloud
- Hard Synchronization HOT 6
- Dataset problem. HOT 7
- Sensor intrinsic and extrinsic HOT 2
- Cannot download data HOT 1
- Cannot access the bag files
- Why there would be a factor and an offset when computing range? HOT 3
- catkin_make error HOT 1
- Lidar-Camera-Calibration
- Hi there, I'm pretty appreciate your work, but I have trouble on evaluating with the groudtruth
- why not use imu linear_acceleration to calculate translation for undistortion HOT 1
- How can I use r3live rosbag ?
- Most links to the suggested prerequisites are mixed HOT 1
- Livox Avia
- Trajectory.txt
- GPS Hardware
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from camvox.