我一直在尝试使用OpenCV提供的reprojectImageTo3D()函数从视差图计算点的真实世界坐标,但输出似乎不正确.
我有校准参数,并使用计算Q矩阵
stereoRectify(left_cam_matrix, left_dist_coeffs, right_cam_matrix, right_dist_coeffs, frame_size, stereo_params.R, stereo_params.T, R1, R2, P1, P2, Q, CALIB_ZERO_DISPARITY, 0, frame_size, 0, 0);
我相信这第一步是正确的,因为立体声帧正在被正确纠正,我正在执行的失真消除也似乎没问题.使用OpenCV的块匹配算法计算视差图,它看起来也很好.
3D点的计算方法如下:
cv::Mat XYZ(disparity8U.size(),CV_32FC3);
reprojectImageTo3D(disparity8U, XYZ, Q, false, CV_32F);
但出于某种原因,考虑到视差图,它们会形成某种锥形,甚至不能达到我的预期.我发现其他人对此功能有类似的问题,我想知道是否有人有解决方案.
提前致谢!
[编辑]
stereoRectify(left_cam_matrix, left_dist_coeffs, right_cam_matrix, right_dist_coeffs,frame_size, stereo_params.R, stereo_params.T, R1, R2, P1, P2, Q, CALIB_ZERO_DISPARITY, 0, frame_size, 0, 0);
initUndistortRectifyMap(left_cam_matrix, left_dist_coeffs, R1, P1, frame_size,CV_32FC1, left_undist_rect_map_x, left_undist_rect_map_y);
initUndistortRectifyMap(right_cam_matrix, right_dist_coeffs, R2, P2, frame_size, CV_32FC1, right_undist_rect_map_x, right_undist_rect_map_y);
cv::remap(left_frame, left_undist_rect, left_undist_rect_map_x, left_undist_rect_map_y, CV_INTER_CUBIC, BORDER_CONSTANT, 0);
cv::remap(right_frame, right_undist_rect, right_undist_rect_map_x, right_undist_rect_map_y, CV_INTER_CUBIC, BORDER_CONSTANT, 0);
cv::Mat imgDisparity32F = Mat( …
Run Code Online (Sandbox Code Playgroud) 我有一个用Typescript编写的Node.js项目,它应该作为CLI运行,并且无法node_modules
使用绝对路径导入位于目录外的模块(相对路径工作正常).可能很重要的是,我正在使用oclif框架来构建我的CLI.
我的项目安排如下:
cli
|--node_modules
|--src
|--my-module.ts
|--subdir
|--index.ts
Run Code Online (Sandbox Code Playgroud)
在my-module.ts
我有:
export class MyClass {
myClassFcn(s: string) {
return 'result'
}
}
Run Code Online (Sandbox Code Playgroud)
该index.ts
脚本包含以下内容:
import {MyClass} = require('my-module')
Run Code Online (Sandbox Code Playgroud)
当我尝试用ts-node执行我的应用程序时,我明白了
(node:10423) [MODULE_NOT_FOUND] Error Plugin: cli: Cannot find module 'my-module'
module: @oclif/config@1.6.17
task: toCached
plugin: cli
root: /home/eschmidt/Workspace/cli
Error Plugin: cli: Cannot find module 'my-module'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:571:15)
at Function.Module._load (internal/modules/cjs/loader.js:497:25)
at Module.require (internal/modules/cjs/loader.js:626:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (/home/eschmidt/Workspace/cli/src/commands/create/index.ts:5:1)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Module.m._compile (/home/eschmidt/Workspace/cli/node_modules/ts-node/src/index.ts:403:23)
at …
Run Code Online (Sandbox Code Playgroud)