我一直在尝试使用 C++ 让 OpenCV (3.4.0) 在 MacOS (10.11.6) 上工作。
我尝试了各种安装方法,但按照本指南最终“成功”。
我现在尝试在 CLion 中运行以下示例项目:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( )
{
Mat image;
image = imread("image1.jpg", CV_LOAD_IMAGE_COLOR);
waitKey(0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
该项目构建得很好,但是当我尝试运行它时,出现以下错误:
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
Run Code Online (Sandbox Code Playgroud)
我环顾四周,唯一能找到的相关问题是与 PHP 有关的。任何形式的帮助或正确方向的指示都将受到高度赞赏!提前谢谢了!
我一直在尝试使用以下 C++ 代码访问始终位于同一位置的给定文件:
if (pcl::io::loadPCDFile<pcl::PointXYZ> ("~/Downloads/table_scene_lms400.pcd", *cloud) == -1) //* load the file
Run Code Online (Sandbox Code Playgroud)
由于显然“~”在 C++ 下不起作用,因此互联网上的各种帖子建议使用 /home/Downloads/... 代替。然而我似乎并没有让它发挥作用。我不断收到错误消息,提示无法找到上述路径下的给定文件。
在 C++ 中访问绝对文件路径的正确方法是什么?
非常感谢,并对这个问题的基本性感到抱歉!
我正在尝试使用点云库提供的 RANSAC 方法估计通过点云点的线。我可以创建对象,并毫无问题地估计线模型,如下所示:
pcl::PointCloud<pcl::PointXYZ>::ConstPtr source_cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::ModelCoefficients::Ptr line_coefficients(new pcl::ModelCoefficients);
pcl::PointIndices::Ptr inliers (new pcl::PointIndices);
// Populate point cloud...
// Create the segmentation object
pcl::SACSegmentation<pcl::PointXYZ> seg;
seg.setModelType (pcl::SACMODEL_LINE);
seg.setMethodType (pcl::SAC_RANSAC);
seg.setDistanceThreshold (distance_thresh);
seg.setInputCloud (source_cloud);
seg.segment (*inliers, *line_coefficients);
Run Code Online (Sandbox Code Playgroud)
我现在尝试访问模型参数,但我太笨了,无法做到……根据API,应该有六个可访问的参数:
直线的六个系数由直线上的一个点和直线的方向给出:[point_on_line.x point_on_line.y point_on_line.z line_direction.x line_direction.y line_direction.z]
因此,我试图访问它们:
line_coefficients->line_direction->x
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用。我不断收到错误:
“pcl::ModelCoefficients”中没有名为“line_direction”的成员。
我真的不知道我做错了什么......有人有任何想法吗?提前致谢!