opencv学习笔记(1)-opencv安装

时间:2021-11-18 10:13:34


初学opencv也不知道应该选哪个版本前两天安装了opencv3.0 alpha(测试版)。这是opencv目前最新的版本。3.0的安装较之前的版本方便选多,因为3在IDE中添加lib库时,只需添加两三个,而之前的版本有三四十个。

用opencv干的第一件事,就是打开摄像头。

但是,折腾了四五天都没有打开。当然,opencv的安装肯定是没有问题的,因为我打开过图片和视频文件。起初,用opencv打开摄像头,一运行便显示failed to loaed opencl runtime。我以为是我没有安装opencl的某种库造成的,于是在网上查找数日,得出结论是:我的显卡是AMD的,而AMD显卡不直接支持opencl。于是又下载的AMD APP SDK。在安装AMD SDK之前,我又试着用cvCaptureFromAVI和cvQueryFrame打开视频文件,发现同样显示failed to load opencl runtime,但是并没有影响视频文件的打开。所以我觉得这个问题并不会影响摄像头的打开,因此没有安装SDK。

为什么视频文件可以打开,而摄像头打不开呢。于是,我猜测是不是驱动或者摄像头的问题。当我使用了外接USB摄像头后同样是打不开,显示的窗口依旧是一片灰色。然后我又想是不是摄像头输出的视频格式opencv不支持,然后用摄像头录制了一段视频,是WMV的格式,难道是opencv支持AVI?但我用cvCaptureFromAVI同样可以打开MP4、rmvb等格式(在网上查阅到,opencv打开各种格式是需要解码器的,可能我的电脑有相关的解码器),我用鲁大师检测电脑驱动,也显示是正常,所以我感觉这也不是摄像头的问题。

换一个版本的opencv。其实,早就有这个想法,但是一直抱着一种我就不信搞不出来的想法,一直没有换一个版本。实在被折腾的不行了,算了还是装个低版本的吧,于是又下载了2.4.9。把vs2010重新配置后,摄像头马上就打开了。在打开之前遇到cvQueryFrame读到的第一帧是空的,需要两次调用。

最后opencv3.0没有打开摄像头的问题算是还没有解决。可能是这个测试版有某种bug,也可能是我的电脑有什么与之不兼容的问题。