vs2017+opencv3.2.0+pylon5.0.10
来源:互联网 发布:麦迪vs科比数据对比 编辑:程序博客网 时间:2024/05/29 18:36
现阶段做双目立体视觉工作,前几天刚配置好开发环境,随笔记录下。
采用的相机是basler acA1920-155um 型号。本人选择opencv3.2.0基于Windows平台。
opencv官方下载链接
http://opencv.org/releases.html#。
pylon5.0.10官方下载链接https://www.baslerweb.com/cn/support/downloads/software-downloads/pylon-5-0-10-windows/
配置过程:
1:安装opencv3.2.0和pylon5.0.10,pylon5.0.10需要选择开发者模式,同时选择相机接口类型,本人采用的usb3.0接口。
2:添加opencv的环境变量,
pylon安装过程中会自动配置环境变量。
3:vs2017中新建一个空项目的控制台程序,然后添加一个cpp文件,再打开属性管理器
在debugx64 中新建一张属性表然后进行编辑。
4:先在通用属性VC++目录中 的包含目录
添加四个路径:
opencv\build\include
opencv\build\include\opencv
opencv\build\include\opencv2
basler\Development\include
取决于你的具体安装位置
5:在库目录添加
basler\Development\lib\x64
opencv3.2.0\build\x64\vc14\lib
6:在链接器输入选项中输入
输入opencv_world320d.lib 对应的是debug 模式
输入opencv_world320.lib 不带d的是release 模式
注意编译器要选择 x64
7: 将配置好的属性表保存出来,以后每次新建工程添加一次
测试代码
#include"stdafx.h"#include"opencv2/opencv.hpp"#include <pylon/PylonIncludes.h> #include<iostream>#ifdef PYLON_WIN_BUILD #include <pylon/PylonGUI.h> #endif /*-----------------------------命名空间-------------------------------------*/using namespace Pylon;using namespace cv;using namespace std;int main(){ //pylon 类型图片定义 CPylonImage pylonImage; //pylon 格式转换定义 CImageFormatConverter formatConverter; formatConverter.OutputPixelFormat = PixelType_BGR8packed; //指向拍摄结果的结构体指针 CGrabResultPtr ptrGrabResult; //opencv 类型图片定义 Mat openCvImage_left; Mat openCvImage_right; /*-----------------------------pylon相机初始化-----------------------------------*/ //pylon相机自动初始化和终止 PylonAutoInitTerm autoInitTerm; //建立传输工程 CTlFactory& tlFactory = CTlFactory::GetInstance(); //获取相机信息 DeviceInfoList_t devices; if (tlFactory.EnumerateDevices(devices) == 2) { cout << "监测到两个相机" << endl; } //创建相机序列并标识信息 CInstantCameraArray cameras(2); for (size_t i = 0; i < cameras.GetSize(); ++i) { cameras[i].Attach(tlFactory.CreateDevice(devices[i])); } /*-----------------------------pylon相机开始抓取-----------------------------------*/ //开始拍摄 cameras.StartGrabbing(); while(cameras.IsGrabbing()) { // 设置指针重载间隔,20ms cameras.RetrieveResult(20, ptrGrabResult, TimeoutHandling_ThrowException); intptr_t cameraContextValue = ptrGrabResult->GetCameraContext(); //显示实时图像 DisplayImage(cameraContextValue, ptrGrabResult); /*-----------------------------pylon图像到opencv图像的转换-----------------------------------*/ if (ptrGrabResult->GetCameraContext() == 0) { formatConverter.Convert(pylonImage, ptrGrabResult); openCvImage_left = cv::Mat(pylonImage.GetHeight(), pylonImage.GetWidth(), CV_8UC3, (uint8_t *)pylonImage.GetBuffer()); } if (ptrGrabResult->GetCameraContext() == 1) { formatConverter.Convert(pylonImage, ptrGrabResult); openCvImage_right = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC3, (uint8_t *)pylonImage.GetBuffer()); } } system("pause"); return 0;}
这段代码 实现了打开双目相机,并将pylon格式图片转换为opencv Mat 类型,便于后续处理。
测试结果。
- vs2017+opencv3.2.0+pylon5.0.10
- win10x64+opencv3.2.0+vs2017
- vs2017 配置 OpenCV3.2.0
- OpenCV3.2.0+VS2017环境搭建
- opencv配置:opencv3.2.0+VS2017
- VS2017 + Opencv3.2.0 安装配置
- OpenCV3.2.0+VS2017环境搭建
- opencv3.3+vs2017
- openCV3.3 + VS2017
- 配置opencv3.3+vs2017
- Win10下OpenCV环境搭建(VS2017+OpenCV3.2.0)
- OpenCV3.2.0+VS2017环境配置与常见问题(巨细坑爹版)
- 拜小白教你OpenCV3.2.0+VS2017开发环境配置
- win10环境下在vs2017上装opencv3.2.0
- win10 x64+VS2017社区版+OpenCV3.2.0安装
- VS2017+OpenCV3.2的配置
- opencv3.20+vs2017环境变量配置
- win10+opencv3.2+vs2017配置
- 周中训练笔记+Uva10616+10820
- web+java+js的GoEasy的消息推送
- python借助腾讯云实现人脸识别的gui程序实例
- 独轮车
- java 常用命令
- vs2017+opencv3.2.0+pylon5.0.10
- java-用两个栈实现一个队列
- vue动画
- MakeFile介绍
- Log4j2官方文档翻译、学习笔记之二——Appender的分类及常用类型示例
- BZOJ3450 Tyvj1952 Easy
- Servlet页面访问量查询
- 单播,多播,广播
- 左旋字符串的三种算法