当前位置:首页 » 编程软件 » 树莓4Opencv编译正常

树莓4Opencv编译正常

发布时间: 2023-01-12 13:47:25

A. ImportError: No mole named cv2

在树莓派编译opencv时有时会遇到找不到python3+的library,这时需要注意是否配置了LD_LIBRARY_PATH。

nano~/.profile11

在环境变量末尾加入

exportLD_LIBRARY_PATH=/usr/lib/:$LD_LIBRARY_PATH11
source~/.profile11

配置以后再预编译opencv时就可以看到,python的位置就都已经可以找到,在进行编译时,cv2.so就会依赖到packages path下

若还无法依赖 path的话 clean后重新make即可

希望对你有帮助

B. opencv图像覆盖运行出现如下错误,程序编译没有错误,但运行后控制台出现如下错误,求解答


#include"highgui.h"

#include"cv.h"

#include<iostream>

using namespace std;

int main()

{

IplImage * img1 = cvLoadImage("./TestImg/111.bmp",1);//被复制的图像

IplImage * img2 = cvLoadImage("./TestImg/222.bmp",1); //代表目标图像

int d=img2->depth;//目标图像的深度

int n=img2->nChannels;//目标图像的通道数

IplImage* img3 =NULL;

double bili1=1.0*50/img1->width;//宽变得比例------你原来的整形除法结果分子小于分母,等于0.

double bili2=1.0*50/img1->height;//高的比例-------。。。

CvSize size;

size.width=(int)img1->width*bili1;

size.height=(int)img1->height*bili2;

img3=cvCreateImage(size,d,n);

cvResize(img1,img3,CV_INTER_LINEAR );

CvSize size1=cvGetSize(img3);

CvRect roi3=cvRect(0,0,size1.width,size1.height);//获得img3的感兴趣区域

cvSetImageROI(img3, roi3);//设置感兴趣区域图3的

CvRect roi2=cvRect(0,0,50,50);

cvSetImageROI(img2, roi2);//同上

cvCopy(img2, img3);

cvResetImageROI(img3);

cvResetImageROI(img2);

cvNamedWindow("result");

cvShowImage("result", img2);

cvWaitKey(-1);

cvReleaseImage(&img2);

//cvReleaseImage(&img1);

cvDestroyAllWindows();

return 0;

}

C. opencv2.4.4按照教程配置以后,测试代码也编译成功,打开的图像窗口却是灰色一片,为什么

图像的路径没写错?
检查一下src的尺寸,如果是0,0的话说明读取失败。

D. 树莓派怎么移植OPENCV

不用移植。
直接下载OPENCV的源码包,按照网上的教程,编译一遍。非常耗时间,晚上编译,第二天早上就好了。

E. 如何在树莓派3B上安装和编译OpenCV 2.4.13.0

网络搜索NOOBS,把解压文件全部放入sd卡根目录,开机选择一个L开头的系统,他的图标像打开的 方盒子,安装就行了、
采纳 。送 爱上树莓派全书,歪果仁写的精品书哦~

F. 如何编译opencv中的install工程

第一步:由于opencv是在cmake工具下建立的工程,所以我们先要下载cmake,下载地址随便一搜都有,不多说。下载到home的主目录下,这里我们是/home/lg。看下面的命令:#cd /home/lg#tar xzvf CMake2.4.7.tar.gz .#cd CMake2.4.7#./boostrap#gmake#make install这样cmake工具安装好了,并且可以直接使用cmake命令根据cmake的编译规律,我们选择外部编译。
2
下载Opencv2.3.0到/home/lg解压后进入Opencv2.3.0的目录下(这里的opencv与以前版本1.0的不一样,没有configure文件,所以我们执行不了 ./configure命令) :#mkdir build#cd build#cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON.. (这条命令解析可以参考cmake教程, 但是记住这里的第二个选项,我们将opencv安装在/usr/local目录下的)#make#make install到这opencv编译完成,接下去看看opencv这个工具能正常使用。
3
记住这里的做法前一种对fedora有用, 也就是说在fedora的环境下只能使用这种做法, 但是ubuntu却可以使用两种方法。 顺便说一下, 经常遇见apt-get命令,这是在ubuntu下使用获取软件包的命令, fedora使用的是yum, 记住了, 否则经常出现使用apt-get却获取不了软件包的情况。方法1:在/etc/ld.so.conf.d下新建一个文件opencv.conf,里面输入/usr/local/lib方法2:在/etc/ld.so.conf文件中加入/usr/local/lib这一行然后执行#ldconfig(root权限下)#cp /usr/local/lib/pkconfig/opencv.pc /usr/lib/pkgconfig(或者是输入这个命令 exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH)( pkconfig的用法见以前的博文)至此opencv安装完成我们可以找个例子来做实验#cd /home/lg/Opencv2.3.0#cd samples/cpp#g++ `pkconfig --cflags --libs opencv` drawing.cpp -odrawing(记住前面的两个引号是通过ESC下面的那个波浪符键获得的)现在我们编译那个人脸检测程序,在Opencv2.3.0/data/目录下有检测鼻子、眼睛的XML文件,这可以通过改build目录下的c目录下的facedetect文件获得。#cd ..#cd c#g++ `pkconfig --cflags --libs opencv` facedetect.c -ofacedetect到此结束

G. OpenCV静态库编译与链接

以OpenCV-4.0.0为例说明在Ubuntu环境下的静态库编译与链接方法:

opencv依赖第三方的库,所以当把opencv编译成静态库的时候,注意要把它运行时必要的依赖库也编译进来,opencv源码内有自己的3rdparty,主要有:libjpeg、libpng、libtiff、libzlib、libwebp、libprotobuf、ffmpeg(用到video时编译)、libgtk(用于显示界面显示,服务器部署不会用到),可以通过cmake -LA来查看配置的编译信息,再根据信息考虑把opencv的哪些mole编译进来。

链接时指定opencv的静态库以及依赖的库。另外需要注意头文件的问题,通过CMakeLists把opencv加入项目编译时,由于opencv编译完成后要install才会把所用的头文件集中拷贝到一个地方,所以事先将头文件拷贝到了项目的opencv目录下。

H. 树莓派4运行opencv死机重启

去检查eeprom的数据
树莓派4与之前树莓派相比,增加了eeprom启动的方式。所以当我们把制作好镜像的SD卡插上,发现没有反应,这个时候,就要去检查eeprom的数据是否已近被改掉了。
断开设备电源,移除SD卡设备,然后重新连接。如果绿色LED指示灯不闪烁,则表明EEPROM已损坏,或者里面的固件已经损坏,这时就需要进行恢复操作了。
或者有时候,设置TFTP启动设置错误,导致只能从网络引导启动,而此时网络又不能使用了。这时也需要恢复eeprom。

I. OpenCV 配置问题

安装

1.安装OpenCV

我本人是在Windows下进行安装,因而介绍的也是与Windows相关的一些心得,这里也就只介绍Windows下的安装。下载OpenCV安装程序。我使用的版本是OpenCV_1.0.exe,在随后的介绍都是以此版本为基础的。

windows下安装非常简单,就不多做累赘,双击安装文件,点击“Next”后,安装程序会让用户选择OpenCV的根目录所在硬盘的位置,比如D:\Program Files\OpenCV\。我们以后用<opencv_root>来表示这个路径。用户可以选择安装到其它的路径下,推荐将OpenCV安装在C盘的OpenCV目录下。

在安装时选择“将<…>\OpenCV\bin加入系统变量”(Add<...>\OpenCV\bin to the systerm PATH),这样做的目的是在运行程序的时候,OpenCV的动态链接库能够被访问的到,因为所有的动态链接库都放置于<opencv_root>\bin目录下。

对于特殊的路径,可以在“我的电脑”“属性”“高级”“环境变量”中添加上述变量,如:变量Path值:D:\Program Files\OpenCV\bin 。

2.安装DirectX SDK(一般用户用不到,可以不装,直接跳过)

对于想要用OpenCV进行视频处理的用户而言,还需要安装微软的DirectX SDK开发包。首先从微软官方网站msdn.microsoft.com/directx/上下载DirectSDK,大约在200MB左右,注意要下载directx 9.0b 版本,不是后面的升级版本。

安装DirectX SDK;打开SDK的安装目录(一般为C:\DXSDK),找到BaseClasses文件夹,一般在C:\DXSDK\Samples\C++\DirectShow\BaseClasses,打开其中的BaseClasses.dsw(其中BaseClasses.sln为.net下(vc7.0)的可执行文件);在“生成”目录下选择“批生成”在选项中选择“Debug”和“Release”,然后生成该项目; 打开C:\DXSDK\Samples\C++\DirectShow\BaseClasses文件夹,会发现两个文件夹——Debug和Release,将Debug中的strmbasd.lib文件和Release中的STRMBASE.lib文件拷到C:\DXSDK\Lib目录下; 在VC的工程中加入如下库文件和包含文件: 在vc.net下选择“工具”“选项”,在左边的目录下选择“项目”“VC++目录”在右上角的筐里选择“库文件”将C:\DXSDK\Lib加入库文件中;再选择“包含文件”,将

C:\DXSDK\Include
C:\DXSDK\Samples\C++\Common\Include
C:\DXSDK\Samples\C++\DirectShow\BaseClasses
加入其中;

注意:有必要将上述目录移到最上方,以免在编译时发生访问库的冲突!

编译OpenCV

打开OpenCV安装目录下的_make文件夹,启动其中的opencv.dsw工程(如: D:\Program Files\OpenCV\_make\opencv.dsw);在vc中选择build----batch build ,所有64位的都不选,然后点build。这样就生成了以后大家经常用到的一些lib及dll,包括release和debug两个版本的,大概需要编译5分钟,视电脑配置

如果需要用到DirectX SDK,还需要启动_make目录下的另外一个工程“opencv_directshow.dsw” ,使其编译通过;

加入库文件及包含文件的方法:

D:\Program Files\OpenCV\cv\include
D:\Program Files\OpenCV\cvaux\include
D:\Program Files\OpenCV\otherlibs\highgui
D:\Program Files\OpenCV\cxcore\include
D:\Program Files\OpenCV\otherlibs\cvcam\include
(上述文件属于常用文件,如果需要可自行添加另外的包含文件)加入库文件:

D:\Program Files\OpenCV\lib

体验OpenCV

在Opencv安装目录下有很多例子D:\Program Files\OpenCV\samples\c 下面是C的例子
我装完了 但是环境变量并没有自动设置好,于是我手动设置了系统变量路径
可以在“我的电脑”“属性”“高级”“环境变量”中添加上述变量,如:变量Path值:D:\Program Files\OpenCV\bin 。
然后运行那些例子 就可以看到效果了
有个dft.c 经典算法 大家都很熟悉的 可以看看
大家可以研究一下cvsample.exe 这个是个vc6的console程序 ,工程文件是cvsample.dsw,效果是打开lina并检测脸部效果如下
\

在VS的项目设置中添加openCV的头文件路径。还有,设置这些引用等。

菜单Tools->Options->Directories:先设置lib路径,选择Library files,在下方填入路径:

C:\Program Files\OpenCV\lib

然后选择include files,在下方填入路径:

C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\ml\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\include

然后选择source files,在下方填入路径:

C:\Program Files\OpenCV\cv\src
C:\Program Files\OpenCV\cxcore\src
C:\Program Files\OpenCV\cvaux\src
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\src\windows

项目设置

每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project->Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library moles附加上

cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:593
制作脚本网站 发布:2025-10-20 08:17:34 浏览:888
python中的init方法 发布:2025-10-20 08:17:33 浏览:582
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:765
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:684
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1013
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:255
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:114
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:806
python股票数据获取 发布:2025-10-20 07:39:44 浏览:713