设为首页 加入收藏

TOP

opencv移植(二)(二)
2019-09-02 23:50:02 】 浏览:37
Tags:opencv 移植
/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lcv
collect2: ld returned 1 exit status
这里提示lcv找不到,为什么呢?
还是我之前说的,网上的文章都是几年前的了,好老了。
打开我们opencv的lib可以看下,根本没有这些个库了,

所以提示自然找不到,所以要改成我们现在opencv的库:

arm-linux-g++ -Wno-psabi -I/usr/local/opencv/install_opencv/include/opencv/ -L/usr/local/opencv/install_opencv/lib/ -lopencv_core -lopencv_highgui -lpthread -lrt -o test test.cpp

出现两个warning:
/usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: ../../lib/libopencv_imgproc.so, needed by /usr/local/opencv/lib_opencv/lib//libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/../../../../arm-none-linux-gnueabi/bin/ld: warning: ../../lib/libopencv_core.so, needed by /usr/local/opencv/lib_opencv/lib//libopencv_highgui.so, not found (try using -rpath or -rpath-link)

将需要到的那三个.so文件:libopencv_core.so libopencv_highgui.so libopencv_imgproc.so将这些库复制到编译器的lib中:

sudo cp -d *libopencv_core* *libopencv_highgui* *libopencv_imgproc*  /usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib

 以上借用风筝大神博客

本人编译使用命令

arm-cortex_a8-linux-gnueabi-g++ -Wno-psabi -I/usr/local/opencv/install_opencv/include/opencv/ -L/usr/local/opencv/install_opencv/lib/ -lopencv_core -lopencv_highgui -lpthread -lrt -o video1 video1.cpp 

 

然后把编译出来的test文件放到开发板上执行。

测试二:

 1 #include<opencv2/core/core.hpp>  
 2 #include<opencv2/highgui/highgui.hpp>  
 3 #include<iostream>
 4 
 5 using namespace cv;  
 6 using namespace std;
 7 
 8 int main( )  
 9 {   
10     //载入图片  
11     Mat image= imread("girl.jpg");  
12     Mat logo= imread("fly.jpg");   
13     //定义一个Mat类型,用于存放,图像的ROI  
14     Mat imageROI;
15 
16     imageROI= image(Rect(10,10,logo.cols,logo.rows));//定义一个左上角点坐标为(_x, _y)的cols*rows矩形窗口
17 
18     //将logo加到原图
19     //参数:图、权重、图、权重、添加的常数项、输出图
20     addWeighted(imageROI,0.5,logo,0.3,0.,imageROI);     
21 
22     cout << "start add picture......\n" << endl;    
23     //输出一张jpg图片到工程目录下  
24     imwrite("fly_girl.jpg",image);  
25 
26     waitKey();  
27 
28     return 0;  
29 }  

Makefile:

 1 CC  = arm-linux-g++
 2 LFLAGS  = -Wno-psabi
 3 LIBS    = -L/usr/local/opencv/install_opencv/lib/ -L/work/qt/my_qt/lib
 4 CPPFLAGS    = -lQt5Widgets -lQt5Gui -lQt5Core -lpthread -lopencv_core -lopencv_highgui -lpthread -lrt
 5 LINC     += -I/usr/local/opencv/install_opencv/include/opencv/
 6 objs := open
 7 out := open
 8 
 9 $(out):$(objs).cpp
10     ${CC} ${LFLAGS} ${LIBS} ${LINC} ${CPPFLAGS} -o $@ $^
11 
12 clean:
13     rm $(out)

 

 这是girl.jpg图: 

这是fly.jpg图:

这是使用opencv合成的效果图: 

 



首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇解决git push时发现有超过100M的.. 下一篇Ubuntu 无法进行SSH连接,开启22..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目