1.
new->other
源文件:
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<cstdio>
#include<iostream>
#include <cstdlib>
using namespace cv;
int main()
{
setenv("LD_LIBRARY_PATH", "/opt/ros/kinetic/lib:/opt/ros/kinetic/lib/x86_64-linux-gnu", 1);
printf("..55.%s\n",getenv("LD_LIBRARY_PATH"));
Mat srcImage = imread("/home/q/eclipse-workspace/myfcv/Debug/a.bmp");
imshow("img",srcImage);
Mat element = getStructuringElement(MORPH_RECT,Size(15,15));
Mat dstImage;
erode(srcImage,dstImage,element);
imshow("erode img",dstImage);
Mat pairs = Mat(srcImage.rows, srcImage.cols * 2, CV_8UC3, Scalar(0, 0, 0));
for (int i = 0; i < srcImage.cols; i++)
{
srcImage.col(i).copyTo(pairs.col(i));
dstImage.col(i).copyTo(pairs.col(srcImage.cols + i));
}
imshow("erode img",pairs);
imwrite("pairs.bmp",pairs);
waitKey(2000);
return 0;
}
打开 Project–>Properties。在C/C++ Build, 点击 Settings. 选择右侧 Tool Settings 标签(默认). 这里我们可以看到includes和library的信息
在 GCC C++ Compiler, 点击 Includes. 在 Include paths(-l) 添加我们的opencv的头文件所在地,即上文提到的 /usr/include/opencv 以及/usr/include/opencv2 和/usr/include/opencv,如下图。路径根据自己的实际路径填写。
编译:通过了。
运行时又报错
在ubuntu下eclipse编译opencv程序后,执行报下面到错误:
error while loading shared libraries: libopencv_core3.so: cannot open shared object file: No such file or directory
解决方法:找到libopencv_开头到库的目录,在/usr/local/lib下面,在/etc/ld.so.conf.d/下面新建一个opencv.conf,里面写入/usr/local/lib,最后执行下sudo ldconfig -v即可。
$ cat /etc/ld.so.conf.d/opencv.conf
/opt/ros/kinetic/lib/x86_64-linux-gnu
运行好了。