如何在Basler相机标定代码的SDK中将相机标定代码曝光值的代码提取出来

5825人阅读
basler相机二次开发(2)
& & & & 本人最近在用basler相机的SDK编写一个调取图像的小程序,在安装好驱动后发现他的sample文件确实很全,各种相机的事件都有。但是我也比较困惑,为什么打开他们的工程文件后只有cpp文件,没有任何头文件。后面我向自己编写一个和它功能一样的程序,我就新建了一个win32控制台应用程序,将他的cpp完全复制过去,调试运行,这时候问题就出现了。报错,说找不到PylonIncludes.h,确实,我的头文件一项是空的,但是我发现有很多外部依赖项,如下图:
我向下拖动发现,其中有一个头文件就是PylonIncludes.h,如下图,我想可能在vs2010里外部依赖项所包含的文件有可能会自动引用到工程中(还请各位指正)。
现在需要解决的问题就是将这些外部依赖项加入到工程中。
首先,打开你的项目后选择项目,属性,配置属性,我们需要配置两个地方。C/C++的附加包含目录,链接器附加库目录。
先说C/C++的附加包含目录,点击附加包含目录右边内容框的三角,选编辑会出现附加包含目录。在里面添加上$(PYLON_ROOT)\include
$(PYLON_GENICAM_ROOT)\library\CPP\include
后面是设置,链接器附加库目录。方法和设置附加包含目录一样,在里面添加
$(PYLON_ROOT)\lib\Win32
$(PYLON_GENICAM_ROOT)\library\CPP\Lib\Win32_i86
这样,头文件和库文件就会自动包含进来,你的这个工程会自动去到计算机里去寻找这些头文件并包含文件,当然这需要你先装驱动。
其实到此还没有结束,在运行时,会跳出一个对话框,显示缺少PylonBase_MD_Vc100.dll或者缺少GCBase_MD_Vc100_V23.dll,其实缺失dll文件最简单的解决方法就是去你安装驱动的文件夹里面搜索这个dll文件,再将它复制到C盘的\Windows\System32文件夹里面,如果是64位,需要放两个dll文件,一个32位,一个64位(下面两个一定要看仔细,反的):32位dll放在:\Windows\SysWOW64,64位dll放在:\Windows\System32
参考&.cn/3/308_21628.html
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17751次
排名:千里之外
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'2067人阅读
& & &该例程显示了如何利用CInstantCamera class这个类进行图像的抓取以及处理,图像的抓去和显示是异步进行的,当应用在处理一个buffer时,对于下一个buffer的获取是并行执行的。CInstantCamera class 使用一个内存池从相机设备检测图像数据,一旦一个buffer得到数据,这个buffer将会被检索到并进行处理,这个buffer和额外的数据将会存放在获取图像的结果中,而该结果对应了一个相应的指针。当释放内存时候或者指针对象被摧毁时,该缓冲数据将自动销毁。
& & &namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。&C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。
#include &pylon/PylonIncludes.h&
#include &pylon/PylonGUI.h&
// 相机的名词空间
using namespace P
// c++标准类库用于输出
// 采集的图像的数量,&span style=&font-family: Arial, Helvetica, sans-&&uint32_t 为定义类型&/span&
static const uint32_t c_countOfImagesToGrab = 10相机的初始化
int main(int argc, char* argv[])
//exitcode用于判断程序退出的方式
int exitCode = 0;
Pylon::PylonAutoInitTerm autoInitT
使用try { &....} 进行相机的图像的采集,结合GenICam::GenericException查找程序的异常
//创建相机对象
CInstantCamera camera( CTlFactory::GetInstance().CreateFirstDevice());
//输出相机的型号,cout输出字符串时需要双引号,但如果输出的类型为char 类型则不需要,endl用于换行
cout && &Using device & && camera.GetDeviceInfo().GetModelName() &&
//设置图像的缓存个数
camera.MaxNumBuffer = 5;
//开始100幅图像相机的采集,相机采用默认设置
camera.StartGrabbing( c_countOfImagesToGrab);
////设置指针储存图像的结果
CGrabResultPtr ptrGrabR
while ( camera.IsGrabbing())
//索引一幅图像,设置等待时间5000ms
camera.RetrieveResult( 5000, ptrGrabResult, TimeoutHandling_ThrowException);
// Image grabbed successfully?
if (ptrGrabResult-&GrabSucceeded())
// Access the image data.
cout && &SizeX: & && ptrGrabResult-&GetWidth() &&
cout && &SizeY: & && ptrGrabResult-&GetHeight() &&
const uint8_t *pImageBuffer = (uint8_t *) ptrGrabResult-&GetBuffer();
cout && &Gray value of first pixel: & && (uint32_t) pImageBuffer[0] && endl &&
// SDk中封装单文档显示界面
Pylon::DisplayImage(1, ptrGrabResult);
cout && &Error: & && ptrGrabResult-&GetErrorCode() && & & && ptrGrabResult-&GetErrorDescription();
catch用于获取中间的异常
catch (GenICam::GenericException &e)
cerr && &An exception occurred.& && endl
&& e.GetDescription() &&
exitCode = 1;
如果输入的字符为enter,则退出程序
cerr && endl && &Press Enter to exit.& &&
while( cin.get() != '\n');
return exitC
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:20274次
排名:千里之外
原创:24篇
转载:12篇
(3)(2)(8)(3)(1)(1)(1)(1)(2)(1)(5)(8)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'一般的对于提供硬件编程来说,硬件生产厂家都会提供好SDK使用的手册和实例。手册中一般包括安装和配置流程,一些基本概念的介绍,SDK每个函数使用,SDK使用流程和实例(有些硬件实例直接写在手册中,有些会以单独文件存在,还有的两者皆有)。对于上位机软件开发人员来说拿到一个硬件上位机编程任务,首先应该阅读了解其SDK概念,再按照其介绍的SDK开发流程阅读其提供的实例,修改相应的实例为自己所用,有不懂的函数查询一下其用法即可。有些开发人员习惯性的去记其API,这是费时费力的做法,并不推荐。下面主要以实时图像采集讲解Basler相机的PylonC
SDK的使用流程。
PylonC SDK的使用的总体流程图如下:
下面是其中对于不同的工作要求,加载相机对象和卸载相机对象是通用的。而要使用其他模块,如事件对象时,相应的改为加载事件对象和卸载事件对象,以及使用事件对象完成相关任务即可。编程时一定要对整个流程做好规划,特别是硬件编程时一定留意内存泄露,前面分配的资源一定要在后面释放。
下面是五个大流程的详细解析,需要的地方已经加以说明,并注解了需要用到的函数
加载相机对象
卸载相机对象
加载数据流抓取对象
卸载数据流抓取对象
单帧或连续抓图过程
按照以上介绍的流程即可实现实时图像采集
。很多人问我要源代码,翻了以前的程序文件夹找到了这个程序,演示了利用Pylon SDK进行相机采集的过程,使用MIL完成界面显示,采集部分封装成了类,可以直接重用。测试相机为Basler相机。注意Pylon仅完成Raw Data的采集,使用MIL的MbufPut完成图像数据的重组,然后MIL自动显示。
原创,转载请注明来自
本文已收录于以下专栏:
相关文章推荐
摄像头的使用以及如何查看摄像头的参数
Basler SDK学习-pylon4在VS2013下的配置
网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。
Pylon库有C++ .Net等各种封装版本,一般用C++版本,功能全面效率高。
基于GenAPI通用相机抽象接口使用的是Node结构,以字符串形式访问相机参数,比较通用但效率低,使用不方便。
*以下步骤建立在您的linux系统已经配置好opencv和QT creator
1.根据相机型号,在Basler官网下载相应的pylon压缩包
2.将pylon压缩包解压并根据其中的install文件...
Qt(C++)项目中使用 Basler 工业相机(1 枚举相机)最近的一个项目中用到Basler 的GigE 接口的工业相机。为此花了好几天时间研究了pylon 的用法。本文就是学习过程中做的笔记。P...
Qt(C++)项目中使用 Basler 工业相机(图像获取策略)Pylon 中的 CInstantCamera 类支持四种图像获取策略,分别称为:
One by One Grab Strategy
Qt 中没有专门显示图片的控件,通常我们会使用QLabel来显示图片。但是QLabel 显示图片的能力还是有点弱。比如不支持图像的缩放一类的功能,使用起来不是很方便。因此我就自己写了个简单的类。
他的最新文章
讲师:王渊命
讲师:蔡栋
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)5827人阅读
basler相机二次开发(2)
& & & & 本人最近在用basler相机的SDK编写一个调取图像的小程序,在安装好驱动后发现他的sample文件确实很全,各种相机的事件都有。但是我也比较困惑,为什么打开他们的工程文件后只有cpp文件,没有任何头文件。后面我向自己编写一个和它功能一样的程序,我就新建了一个win32控制台应用程序,将他的cpp完全复制过去,调试运行,这时候问题就出现了。报错,说找不到PylonIncludes.h,确实,我的头文件一项是空的,但是我发现有很多外部依赖项,如下图:
我向下拖动发现,其中有一个头文件就是PylonIncludes.h,如下图,我想可能在vs2010里外部依赖项所包含的文件有可能会自动引用到工程中(还请各位指正)。
现在需要解决的问题就是将这些外部依赖项加入到工程中。
首先,打开你的项目后选择项目,属性,配置属性,我们需要配置两个地方。C/C++的附加包含目录,链接器附加库目录。
先说C/C++的附加包含目录,点击附加包含目录右边内容框的三角,选编辑会出现附加包含目录。在里面添加上$(PYLON_ROOT)\include
$(PYLON_GENICAM_ROOT)\library\CPP\include
后面是设置,链接器附加库目录。方法和设置附加包含目录一样,在里面添加
$(PYLON_ROOT)\lib\Win32
$(PYLON_GENICAM_ROOT)\library\CPP\Lib\Win32_i86
这样,头文件和库文件就会自动包含进来,你的这个工程会自动去到计算机里去寻找这些头文件并包含文件,当然这需要你先装驱动。
其实到此还没有结束,在运行时,会跳出一个对话框,显示缺少PylonBase_MD_Vc100.dll或者缺少GCBase_MD_Vc100_V23.dll,其实缺失dll文件最简单的解决方法就是去你安装驱动的文件夹里面搜索这个dll文件,再将它复制到C盘的\Windows\System32文件夹里面,如果是64位,需要放两个dll文件,一个32位,一个64位(下面两个一定要看仔细,反的):32位dll放在:\Windows\SysWOW64,64位dll放在:\Windows\System32
参考&.cn/3/308_21628.html
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17753次
排名:千里之外
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'当前位置:
文件名称:CSharp
所属分类:
资源属性:
Windows,Visual.Net,C/C++,源码
上传时间:
文件大小:
浏览/下载:
2023次 / 5次
提 供 者:
相关连接:
下载说明:
别用迅雷下载,失败请重下,重下不扣分!
Basler相机在C#下的SDK开发包,希望能对需要的人有用-Basler SDK in C sharp environment
(系统自动生成,下载前可以参看下载内容)下载文件列表
压缩包 : CSharp.rar 列表
C#/Backup/Chunks/Chunks.cs
C#/Backup/Chunks/Chunks.csproj
C#/Backup/Chunks/Properties/AssemblyInfo.cs
C#/Backup/Events/Events.cs
C#/Backup/Events/Events.csproj
C#/Backup/Events/Properties/AssemblyInfo.cs
C#/Backup/GenApiParam/GenApiParam.cs
C#/Backup/GenApiParam/GenApiParam.csproj
C#/Backup/GenApiParam/Properties/AssemblyInfo.cs
C#/Backup/GrabTwoCameras/GrabTwoCameras.cs
C#/Backup/GrabTwoCameras/GrabTwoCameras.csproj
C#/Backup/GrabTwoCameras/Properties/AssemblyInfo.cs
C#/Backup/OverlappedGrab/OverlappedGrab.cs
C#/Backup/OverlappedGrab/OverlappedGrab.csproj
C#/Backup/OverlappedGrab/Properties/AssemblyInfo.cs
C#/Backup/ParameterizeCamera/ParameterizeCamera.cs
C#/Backup/ParameterizeCamera/ParameterizeCamera.csproj
C#/Backup/ParameterizeCamera/Properties/AssemblyInfo.cs
C#/Backup/Pylon.NETSamples.sln
C#/Backup/Pylon.NETSupportLibrary/BitmapFactory.cs
C#/Backup/Pylon.NETSupportLibrary/DeviceEnumerator.cs
C#/Backup/Pylon.NETSupportLibrary/EnumerationComboBoxUserControl.cs
C#/Backup/Pylon.NETSupportLibrary/EnumerationComboBoxUserControl.Designer.cs
C#/Backup/Pylon.NETSupportLibrary/EnumerationComboBoxUserControl.resx
C#/Backup/Pylon.NETSupportLibrary/ImageProvider.cs
C#/Backup/Pylon.NETSupportLibrary/Properties/AssemblyInfo.cs
C#/Backup/Pylon.NETSupportLibrary/Pylon.NETSupportLibrary.csproj
C#/Backup/Pylon.NETSupportLibrary/SliderUserControl.cs
C#/Backup/Pylon.NETSupportLibrary/SliderUserControl.Designer.cs
C#/Backup/Pylon.NETSupportLibrary/SliderUserControl.resx
C#/Backup/PylonLiveView/MainForm.cs
C#/Backup/PylonLiveView/MainForm.Designer.cs
C#/Backup/PylonLiveView/MainForm.resx
C#/Backup/PylonLiveView/Properties/AssemblyInfo.cs
C#/Backup/PylonLiveView/Properties/Resources.Designer.cs
C#/Backup/PylonLiveView/Properties/Resources.resx
C#/Backup/PylonLiveView/Properties/Settings.Designer.cs
C#/Backup/PylonLiveView/Properties/Settings.settings
C#/Backup/PylonLiveView/PylonLiveView.cs
C#/Backup/PylonLiveView/PylonLiveView.csproj
C#/Backup/SimpleGrab/Properties/AssemblyInfo.cs
C#/Backup/SimpleGrab/SimpleGrab.cs
C#/Backup/SimpleGrab/SimpleGrab.csproj
C#/Backup/SurpriseRemoval/Properties/AssemblyInfo.cs
C#/Backup/SurpriseRemoval/SurpriseRemoval.cs
C#/Backup/SurpriseRemoval/SurpriseRemoval.csproj
C#/bin/PylonC.NETSupportLibrary.dll
C#/bin/PylonC.NETSupportLibrary.pdb
C#/Chunks/bin/Debug/Chunks.exe
C#/Chunks/bin/Debug/Chunks.pdb
C#/Chunks/bin/Debug/Chunks.vshost.exe
C#/Chunks/bin/Debug/Chunks.vshost.exe.manifest
C#/Chunks/Chunks.cs
C#/Chunks/Chunks.csproj
C#/Chunks/obj/Debug/Chunks.csproj.FileListAbsolute.txt
C#/Chunks/obj/Debug/Chunks.csprojResolveAssemblyReference.cache
C#/Chunks/obj/Debug/Chunks.exe
C#/Chunks/obj/Debug/Chunks.pdb
C#/Chunks/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
C#/Chunks/Properties/AssemblyInfo.cs
C#/Events/bin/Debug/Events.exe
C#/Events/bin/Debug/Events.pdb
C#/Events/Events.cs
C#/Events/Events.csproj
C#/Events/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
C#/Events/obj/Debug/Events.csproj.FileListAbsolute.txt
C#/Events/obj/Debug/Events.exe
C#/Events/obj/Debug/Events.pdb
C#/Events/Properties/AssemblyInfo.cs
C#/GenApiParam/bin/Debug/GenApiParam.exe
C#/GenApiParam/bin/Debug/GenApiParam.pdb
C#/GenApiParam/GenApiParam.cs
C#/GenApiParam/GenApiParam.csproj
C#/GenApiParam/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
C#/GenApiParam/obj/Debug/GenApiParam.csproj.FileListAbsolute.txt
C#/GenApiParam/obj/Debug/GenApiParam.exe
C#/GenApiParam/obj/Debug/GenApiParam.pdb
C#/GenApiParam/Properties/AssemblyInfo.cs
C#/GrabTwoCameras/bin/Debug/GrabTwoCameras.exe
C#/GrabTwoCameras/bin/Debug/GrabTwoCameras.pdb
C#/GrabTwoCameras/GrabTwoCameras.cs
C#/GrabTwoCameras/GrabTwoCameras.csproj
C#/GrabTwoCameras/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
C#/GrabTwoCameras/obj/Debug/GrabTwoCameras.csproj.FileListAbsolute.txt
C#/GrabTwoCameras/obj/Debug/GrabTwoCameras.exe
C#/GrabTwoCameras/obj/Debug/GrabTwoCameras.pdb
C#/GrabTwoCameras/Properties/AssemblyInfo.cs
C#/HowToBuildSamples.txt
C#/OverlappedGrab/bin/Debug/OverlappedGrab.exe
C#/OverlappedGrab/bin/Debug/OverlappedGrab.pdb
C#/OverlappedGrab/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
C#/OverlappedGrab/obj/Debug/OverlappedGrab.csproj.FileListAbsolute.txt
C#/OverlappedGrab/obj/Debug/OverlappedGrab.exe
C#/OverlappedGrab/obj/Debug/OverlappedGrab.pdb
C#/OverlappedGrab/OverlappedGrab.cs
C#/OverlappedGrab/OverlappedGrab.csproj
C#/OverlappedGrab/Properties/AssemblyInfo.cs
C#/ParameterizeCamera/bin/Debug/ParameterizeCamera.exe
C#/ParameterizeCamera/bin/Debug/ParameterizeCamera.pdb
C#/ParameterizeCamera/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
C#/ParameterizeCamera/obj/Debug/ParameterizeCamera.csproj.FileListAbsolute.txt
C#/ParameterizeCamera/obj/Debug/ParameterizeCamera.exe
C#/ParameterizeCamera/obj/Debug/ParameterizeCamera.pdb
C#/ParameterizeCamera/ParameterizeCamera.cs
C#/ParameterizeCamera/ParameterizeCamera.csproj
C#/ParameterizeCamera/Properties/AssemblyInfo.cs
C#/Pylon.NETSamples.sln
C#/Pylon.NETSamples.suo
C#/Pylon.NETSamples.v11.suo
C#/Pylon.NETSupportLibrary/BitmapFactory.cs
C#/Pylon.NETSupportLibrary/DeviceEnumerato
暂无评论内容.
*快速评论:
和说明不符
不是源码或资料
纯粹是垃圾
*内  容:
*验 证 码:
搜珍网是交换下载平台,下载的内容请自行研究使用或咨询上传人.
资源属性分别代表:系统平台,开发平台,开发语言,文件格式四部分.
本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用进行解压.
如果您发现此软件无法下载,请稍后再次尝试;或者.
本站提供下载的内容为网上收集或会员上传提供,若无意中侵犯了您的版权,.
如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
如下载后发现下载的内容跟说明不相乎,可以联系本站的客服,经确认可以退回消费了的积分.
联系我们网站
·电话:(0)
All Rights Reserved.

我要回帖

更多关于 相机自动曝光代码 的文章

 

随机推荐