opencv安装cannotopenoutput

opencv安装cannotopenoutput,第1张

在安装OpenCV时,出现 "cannot open output" 错误,这通常是由于权限问题或文件路径错误导致的。

以下是敬森一些可能的解决方案:

确保你有足毁稿模够的权限来安装OpenCV。如果你是在Windows上安装,尝试使用管理员权限运行安装程序。

检查文件路径是否正确。确保你在安装程序中指定了正确的路径。如果你手动编译和安装OpenCV,则确保你已经正确设置了安装路径。

如果你使用的是CMake来编译OpenCV,请确保你已经正确设置了输出路径。

如果你正在使用防病毒软件,纤缓请尝试将其禁用,以避免其干扰OpenCV的安装。

如果以上解决方案都无法解决问题,请尝试重新下载OpenCV并重新安装。

把你程序运行了下,改了些错误,完全没启告有问题了

#include "highgui.h"

int main(int argc, char* argv[])

{

IplImage* img=cvLoadImage("E:\\lena.jpg")

cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE)

cvShowImage("Example1",img)

cvWaitKey(0)

cvReleaseImage(&img)

cvDestroyWindow("Example1")

return 0

}

我没有昌哪用预定义,也是在vs08上运行的,主要就是把你的int _tmain(int argc, _TCHAR* argv[])变成int main(int argc, char* argv[]),希望对你悄迅明有帮助

一、交叉编译opencv

构造:

下载:各个库的下载可以直接搜名字到官网下载

几个关键解释:

“--prefix=” 后边跟make install时的位置,本例中,libz在make install时将安装到/usr/arm-linux-gnueabihf中

“--host=” 后边跟arm-linux表明使用的是ARM环境

有configure的才能进行configure配置

4)所有的makefile修改类似

Libz的交叉编译

第一步:# ./configure --prefix=/usr/arm-linux-gnueabihf --shared

第二步:修改makefile,主要有下边几个,修改的时候通篇参照即可

CC=arm-linux-gnueabihf-gcc

AR=arm-linux-gnueabihf-ar rc

RANLIB=arm-linux-gnueabihf-ranlib

STRIP = arm-linux-gnueabihf-strip

如果有ARCH的话,ARCH=ARM

第三步:#sudo make

#sudo make install

Libjpeg的交叉编译

第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc

第二步:参考1)中方法修改makefile

第三步:#sudo make

#sudo make install

Libpng的交叉编译

第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc

第二步:参考1)中方法修改makefile

第三步:#sudo make

#sudo make install

Yasm的交叉编译

第一步岩卜:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static

第二步:修粗辩穗改makefile

第三步:#sudo make

#sudo make install

Libx264的交叉编译

第一步:#CC=arm-linux-gnueabihf-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/arm-linux-gnueabihf

第二步:修改config.mak里的参灶厅数,因为makefile要调用config.mak,所以修改方法同makefile

第三步:#sudo make

#sudo make install

Libxvid的交叉编译

第一步:首先切换目录 #cd build/generic

第二步:#./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux --disable-assembly

第三步:#sudo make

#sudo make install

ffmpeg的交叉编译

第一步:

./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=/usr/arm-linux-gnueabihf

第二步:修改makefile文件

第三步:#sudo make

#sudo make install

第四步:将ffmpeg加入pkg-config

执行#sudo gedit /etc/bash.bashrc,在末尾加入

export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/arm-linux-gnueabihf /lib/pkgconfig

export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/arm-linux-gnueabihf /lib/

完毕后使用命令:#source /etc/bash.bashrc

或者单独使用三个export,不过寿命只在一个终端中,终端关闭时就失效。

几个关键解释:--extra-flags指向xvid的安装路径,--extra-ldflags指向x264的路径

安装cmake-gui

执行:#sudo apt-get install cmake-qt-gui

Opencv的交叉编译

第一步:修改opencv/platflrms/linux/目录下的arm-gnueabi.toolchain.cmake,将其所有删掉,写入:

set( CMAKE_SYSTEM_NAME Linux )

set( CMAKE_SYSTEM_PROCESSOR arm )

set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc )

set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ )

第二步:在opencv目录下新建build目录,进入build目录,执行命令:

#cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../

这时,要保证出现:

第三步:使用cmake-gui打开CMakeCache.txt,去掉所有的无关项,修改CMAKE_INSTALL_PREFIX,来确定make install的目录

第四步:#sudo make

#sudo make install

可能出现的错误:

opencv编译不通过,出现skip之类的,说明ffmpeg没编译好,或者其编译好了,但是pkg-config没有设置好,一定要设置好其环境

前边几步不通过的话,看看命令有没有少,或者有没有修改好makefile

在arm上使用时,一种方法时直接将编译好的opencv目录下的lib文件拷贝到开发板对应的/lib目录下,其他或者拷贝到自己指定的目录,并设置好环境变量即可使用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12402558.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存