论vs2008与opencv和tif图片

编程入门 行业动态 更新时间:2024-10-26 18:28:35

论vs2008与opencv和tif<a href=https://www.elefans.com/category/jswz/34/1770705.html style=图片"/>

论vs2008与opencv和tif图片

论vs2008与opencv和tif图片

最近我让vs2008与opencv“相杀相爱”,这波操作的目的是为了用vs2008载人opencv从而打开tif格式的图片。说说我一天的时间的过程吧。开始,我上网一搜,关于此方面的文章,博客非常多。我选了一个挺权威的百文库开始了我的vs2008和opencv的载入。,,,,一通操作后,发现后面进行不下去了,具体问题是D:\opencv\opencv\vs2008\include的路径后面应该还要有一个opencv,然而没有。原因是我在进行的是vs2008与opencv2.49版本的载入,而我的参考文章的却是vs2008与opencv2.0版本的载入,哭。所以,,,,。没事,一点小困难算什么,所以我就吭哧吭哧的找opencv2.0版本,让我找到了,,。按照如下操作,


    一、准备工作这里我用到的平台是 Microsoft Visual Studio 2008 和OpenCV2.0 OpenCV2.0下载地址 .php/Download。安装OpenCV2.0,假定安装目录为:D:Program FilesOpenCV2.0
CMake下载地址 .html (选择 Win32 Installer 安装版本)。

 
 二、编译OpenCV
1. 用CMake导出VC++ 项目文件
■ 运行cmake-gui,设置路径为OpenCV安装路径(例如:D:\Program Files\OpenCV2.0),并创建子目录 D:\Program Files\OpenCV2.0\vc2008,用于存放编译结果。

■ 然后点 configure,在弹出的对话框内选择 Visual Studio 9 2008。
■ Microsoft Visual Studio 2008 正式版支持OpenMP,所以ENABLE_OPENMP这个选项要勾上;如果是Express版本,则不支持OpenMP,所以需要取消ENABLE_OPENMP选项。

 ■ 最后再点击Generate。


2. 编译 OpenCV Debug 和 Release版本库 完成上一步骤后,将在D:\Program Files\OpenCV2.0\vc2008目录下生成OpenCV.sln的VC Solution File,请用VC++ 2008 Express打开OpenCV.sln,然后执行如下操作:

■ 在Debug下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。

■ 在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。 
此时,OpenCV的*d.dll文件(for debug)和*.dll文件(for release)将出现在D:\Program Files\OpenCV2.0\vc2008\bin目录中;OpenCV的*d.lib文件(for debug) 和*.lib文件(for release)将出现在D:\Program Files\OpenCV2.0\vc2008\lib目录;头文件*.h出现在D:\Program Files\OpenCV2.0\vc2008\include\opencv中。
至此Microsoft Visual Studio 2008 调用的OpenCV动态库生成完毕。
三、配置Windows环境变量Path
将D:\Program Files\OpenCV2.0\vc2008\bin加入Windows系统环境变量Path中。 加入后,必须注销当前用户或者重新启动才能生效。
四、为Microsoft Visual Studio 2008 配置OpenCV环境
打开Microsoft Visual Studio 2008,菜单 Tools -> Options -> Projects and Solutions -> VC++ Directories。
■ Show directories for选择include files,加入目录 D:\Program Files\OpenCV2.0\vc2008\include\opencv 
■ Show directories for选择library files,加入目录 D:\Program Files\OpenCV2.0\vc2008\lib

五、使用OpenCV 2.0 编程
以后每创建一个OpenCV 的Win32 控制台程序,都需要添加依赖的库
■ 选择Solution Explorer里的 “项目名称”,点击鼠标右键,选择Properties;
■ 为项目的Debug配置增加依赖的库:cxcore200d.lib cv200d.lib highgui200d.lib; ■ 为项目的Release配置增加依赖的库:cxcore200.lib cv200.lib highgui200.lib


好了,总算载人好了openCV,经过一通测试

#include "math.h"
#include <cv.h>  
#include "iostream"
using namespace std;
using namespace cv;
const char* filename1 = "C:\\Users\\Administrator\\Desktop\\tmp\\44.tif";//测试图片
int main(int argc, char** argv)
{
    IplImage    *img;//匹配图
   img = cvLoadImage(filename1, 1);
    cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口
    cv::imshow("image", img); //显示图像
    cv::waitKey();
    return 0;
}

结果太让人失望了,只有png格式的图片可以被cvLoadImage载入,,,

经过我严密的排查,我找到了原因,那就是opencv2.0这个库有点久了,所以没办法,只能用vs2008载入opencv2.49

,这一切又回到了原点。在载入的过程中问题有来了,那就是opencv2.49中只有vc10,vc11,vc12,这意味着opencv2.49没有提供vs2008的库,这么办了,找了一阵,找到了用cmake编译一波,走起i,皮皮虾我们去编译,编译成功后再D:\opencv\opencv\build\x86建立一个vc9的文件夹,将编译后产生的lib,bin文件夹赋值到vc9中。最后,按照网上的教程,就可以成功载入opencv2.49了。哈哈,现在是见证奇迹的时刻了,同样用上面的测试程序,我成功的打开了bmp,jpg,png,,,,,。但是唯独tif格式的图片打不开,而我用同样的操作,vs2013却可以打开tif图片,真的是太坑了,我也找了很多办法,但是,朋友们,vs2008载入opencv就是打不开tif格式的图片,只能是vs2008有毒,所以一个忠告,后面开发的朋友们,尽量用版本高一点的软件,低版本有很多无解的bug!


更多推荐

论vs2008与opencv和tif图片

本文发布于:2024-03-07 11:18:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1717682.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图片   opencv   tif

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!