完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Opencv是一个开源的计算机视觉库,可以给开发人员提供更便捷的方式设计复杂的视觉应用,Opencv主要是用c和c++编写,可以运行在Windows/Linux/Mac等上。这几天尝试着在RK3288上安装Opencv,被虐了好多遍,幸好没有放弃,终于弄出了。之前一直是通过电脑先交叉编译Opencv再移植的方法,但是在编译过程中总是遇到各种问题,换了不同的Opencv源又会出现新的问题,所以如果有交叉编译移植成功的朋友不妨交流一下。这里采用了一种比较折中的方法,直接在开发板上配置好环境,然后安装编译Opencv。
一、前期准备 开发板烧写的固件是官方网站下载的,Ubuntu的系统。 将开发板与电脑通过串口连接起来,方便命令控制。 在Opencv官方网站下载一个在linux下的Opencv源,我的是opencv-2.4.10.zip,放到开发板的/home下, 二、环境配置 1、更新软件源 apt-get update apt-get upgrade 2、下载依赖项 apt-get install gcc g++ apt-get install cmake apt-get install build-essential apt-get install libgtk2.0-dev apt-get install pkg-config apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev apt-get install python-dev python-numpy 3、解压缩 去到opencv源码所在文件夹下,(我的在/home目录下),解压缩 unzip opencv-2.4.10.zip 这时/home目录下多了一个文件夹,opencv-2.4.10 4、编译Opencv cd /home/opencv-2.4.10 mkdir build cd build/ 使用cmake工具编译生成makefiel,指定opencv安装在/usr/local(这个安装目录最好不要改,如果要改也是弄成/usr/local/xx这种目录) cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. 等到环境检测完成 make 这时候就是等待安装,时间有点长,这时候可以放在那里干其他事情...... < src="https://file.elecfans.com/web2/M00/30/0C/poYBAGIGMZWASL19AAEPKwxnZyc965.png" > 等到编译完毕,install一下让它生效 make install < src="https://file.elecfans.com/web2/M00/30/0C/poYBAGIGMZeAFNk6AAEfMFzwGSQ719.png" > 可以看到在usr/local/lib下有很多编译好的opencv动态链接库 < src="https://file.elecfans.com/web2/M00/30/0C/poYBAGIGMZiAB6eTAAFxT8RoViQ848.png" > 在环境变量文件上写库的位置 vim /etc/ld.so.conf 在这个文件的最后一行加上/usr/local/lib < src="https://file.elecfans.com/web2/M00/30/14/pYYBAGIGMZqAKuOeAAANZsmUPTw397.png" > 然后运行/***in/ldconfig 4、测试 写一个测试代码opencv.cpp,看opencv能否使用,这段代码的意思是将一幅图片转换成灰度图显示出来,并且显示出原图 #include #include #include #include using namespace std; using namespace cv; int main(int argc,char **argv) { Mat img1,img2; img1 = imread(argv[1], CV_LOAD_IMAGE_COLOR); if(argc != 2 || !img1.data) { cout << "No image datan"; return -1; } cvtColor(img1, img2, CV_RGB2GRAY); namedWindow("img1", CV_WINDOW_AUTOSIZE); namedWindow("img2", CV_WINDOW_AUTOSIZE); imshow("img1", img1); imshow("img2", img2); waitKey(0); return 0; } 生成可执行文件opencv g++ `pkg-config opencv --cflags --libs opencv` -o opencv opencv.cpp -I /usr/local/include/opencv -L /usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_gpu -lopencv_ts -lopencv_video -lopencv_objdetect -lopencv_ml -lpthread 开发板连上显示器,运行程序(下载一张图片弄到同一文件夹下) ./opencv lena.jpg |
|
|
|
谢谢分享!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1988 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
2490 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
5272 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 13:04 , Processed in 0.713013 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号