开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition

这篇具有很好参考价值的文章主要介绍了开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 简介
  • 源码
  • 函数说明
    • arv_camera_new
    • arv_camera_acquisition
    • arv_camera_get_model_name
    • arv_buffer_get_image_width
    • arv_buffer_get_image_height

简介

本文针对官方例程中的第一个例程:single-acquisition做简单的讲解,并简单分析其中调用的arv_camera_new arv_camera_acquisitionarv_camera_get_model_name arv_buffer_get_image_width arv_buffer_get_image_height 函数。

aravis版本:0.8.31
操作系统:ubuntu-20.04
gcc版本:9.4.0

源码

/* SPDX-License-Identifier:Unlicense */

/* Aravis header */

#include <arv.h>

/* Standard headers */

#include <stdlib.h>
#include <stdio.h>

/*
 * Connect to the first available camera, then acquire a single buffer.
 */

int main (int argc, char **argv)
{
	ArvCamera *camera;
	ArvBuffer *buffer;
	GError *error = NULL;

	/* Connect to the first available camera */
	camera = arv_camera_new (NULL, &error);
    //camera = arv_camera_new ("192.168.6.23", &error);

	if (ARV_IS_CAMERA (camera)) {
		printf ("Found camera '%s'\n", arv_camera_get_model_name (camera, NULL));

		/* Acquire a single buffer */
		buffer = arv_camera_acquisition (camera, 0, &error);

		if (ARV_IS_BUFFER (buffer)) {
			/* Display some informations about the retrieved buffer */
			printf ("Acquired %d×%d buffer\n",
				arv_buffer_get_image_width (buffer),
				arv_buffer_get_image_height (buffer));
			/* Destroy the buffer */
			g_clear_object (&buffer);
		}

		/* Destroy the camera instance */
		g_clear_object (&camera);
	}

	if (error != NULL) {
		/* An error happened, display the correspdonding message */
		printf ("Error: %s\n", error->message);
		return EXIT_FAILURE;
	}

	return EXIT_SUCCESS;
}

此例程较为简单,每一步的细节查看注释即可,此处不过多讲解。
运行结果:
开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition

函数说明

arv_camera_new

简介:创建一个ArvCamera对象,如果name是NULL,则连接第一个可用的相机。

ArvCamera* arv_camera_new (const char* name, GError** error)

如果是Gige相机,name的格式可以是:

  • <vendor>-<model>-<serial>
  • <vendor_alias>-<serial>
  • <vendor>-<serial>
  • <user_id>
  • <ip_address>
  • <mac_address>

例如:

  • The Imaging Source Europe GmbH-DFK 33GX265-39020369
  • The Imaging Source Europe GmbH-39020369
  • TIS-39020369
  • 192.168.0.2
  • 00:07:48:af:a2:61

Available since 0.8.0

arv_camera_acquisition

简介:获取一帧图像。
注意:①本函数会将相机设置为单帧采集模式②返回的buffer最终必须要通过g_object_unref()释放

ArvBuffer* arv_camera_acquisition(
	ArvCamera* camera,         
	guint64 timeout,     //采集超时时间,单位µs
	GError** error)

Available since: 0.8.0

arv_camera_get_model_name

简介:获取相机型号名称

const char* arv_camera_get_model_name (ArvCamera* camera, GError** error)

Available since 0.8.0

arv_buffer_get_image_width

简介:获取图片的width
注意:此函数只能在buffer payload为ARV_BUFFER_PAYLOAD_TYPE_IMAGEARV_BUFFER_PAYLOAD_TYPE_EXTENDED_CHUNK_DATAARV_BUFFER_PAYLOAD_TYPE_MULTIPART时使用

gint arv_buffer_get_image_width(ArvBuffer* buffer)

Available since: 0.4.0

arv_buffer_get_image_height

简介:获取图片的height
注意:此函数只能在buffer payload为ARV_BUFFER_PAYLOAD_TYPE_IMAGEARV_BUFFER_PAYLOAD_TYPE_EXTENDED_CHUNK_DATAARV_BUFFER_PAYLOAD_TYPE_MULTIPART时使用

gint arv_buffer_get_image_height(ArvBuffer* buffer)

Available since: 0.4.0文章来源地址https://www.toymoban.com/news/detail-846630.html

到了这里,关于开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 线扫相机DALSA--采集卡Base模式设置

    采集卡默认加载“1 X Full Camera Link”固件,Base模式首先要将固件更新为“2 X Base Camera Link”。 右键SCI图标,选择“打开文件所在的位置”,找到并打开SciDalsaConfig的Demo,如上图所示: 左键单击“获取相机”,稍等1-2分钟后提示“获取相机列表成功”; 获取相机列表成功后点

    2024年02月06日
    浏览(46)
  • (二)Qt多线程实现海康工业相机图像实时采集

    提示:这里是该系列文章的所有文章的目录 第一章: (一)Qt+OpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 本文主要讲述了使用Qt多线程实现海康工业相机图像的采集,并在界面上将两个相机采集到的图像信息同时显示出来,在

    2024年02月04日
    浏览(47)
  • 高速大面阵相机数据采集传输带宽分析与随笔

    目前,高速相机的传输瓶颈,受限于传输的带宽。 这里的高速相机指的是大面阵(2048*2048@1000fps)的应用场景。 目前符合条件的CMOS比较少,长光辰芯的4510和4521是符合的。 高速相机从CMOS读取数据,到FPGA进行处理,通过高速收发器GT系列,进行大数据量的传输,最后通过传输

    2024年02月07日
    浏览(44)
  • 关于单帧,首帧,流控帧,连续帧

    参数及定义 SF_DL: FF_DL: SN: FS: BS: STmin: 参考资料: ISO15765-2 2004 第2部分:网络层协议

    2024年02月17日
    浏览(32)
  • Python相机自动采集图像,然后模板匹配、自动截取保存图片

    通过python调用相机然后间隔一段时间进行拍摄图片,进行识别提取。 提示:以下是本篇文章正文内容,下面案例可供参考 我的电脑没有相机硬件设备,于是我通过手机在局域网的状态下进行图像传输到电脑上,在这里特别推荐软件:DroidCam Client    建议大家按照情况自行安

    2024年02月12日
    浏览(34)
  • 大恒水星相机SDK(实时采集)基于QT与C++

    资料文档下载 本次的开发环境是基于vs2019使用QT的框架对大恒相机的SDK进行实时采集的操作。我们从零开始讲,根据上面的 资料文档 我们来添加一个新的项目,并且将C++的库文件添加进去。 首先,我们新建的时候使用QT的模板。 记住我们新建的路径,下面添加库文件的时候

    2024年02月04日
    浏览(85)
  • Qt+OpenCV调用海康相机SDK采集图像(C++)

    配置环境: Qt5.12.5 OpenCV3.4.9 海康MVS3.1.0 开发工具:QT Creator-4.11.0 1.1)添加海康的库: 将海康SDK库MVSDevelopmentIncludes和MVSDevelopmentLibrarieswin64下复制到自己的工程目录下 然后把库添加到.pro文件中 点击下一步之后就会在.pro文件中出现如下代码 然后在这后面加上以下代码,添

    2024年02月08日
    浏览(45)
  • Matlab 打开 Gige 工业相机连续采集数据 & Bug解决

    电脑配置:Windows 10;Matlab 2021b 相机型号:DMK 33GP1300 官网链接:https://www.theimagingsource.com/zh-hans-cn/product/industrial/33g/dmk33gp1300/ 按照默认路径安装,安装好后界面: 测试相机,仍在官网找到图中软件,安装好后测试: 打开 Matlab,从附加功能进入: 打开后,搜索并安装 GigE Vis

    2024年02月12日
    浏览(40)
  • NVIDIA AGX Xavier平台相机嵌入数据采集调试记录

    在本文中,我们将详细介绍如何在NVIDIA AGX Xavier平台上进行相机数据采集并进行嵌入式数据调试。我们将提供相应的源代码,并逐步解释每个步骤。 首先,我们需要确保AGX Xavier平台已正确设置并连接相机。我们假设您已经完成了这一步骤,并已经安装了适当的相机驱动程序。

    2024年02月07日
    浏览(42)
  • 车载测试:详解ADAS传感器(相机)标定数据采集方法

    1.基本原理 相机外参标定,通过拍摄多角度棋盘格标定相机外参。 2.外参标定板设计 标定板分为垂直标定板和水平标定板,由于地面的水平标定板不容易被检测到,本文采用垂直标定板进行相机标定。 在标定过程中标定板需要和车身坐标成正交状态,也就是标定板垂直边需

    2024年02月13日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包