
首页
博客
研修院
VIP
APP
问答
下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
2021-08-03 14:56:55
冯相文要加油呀
码龄2年
关注
配置网口相机(大恒水星相机)
相机参数:
在这里插入图片描述
在这里插入图片描述
首先查看电脑是否为支持千兆网口。
从这里看的出来(GbE)是千兆的。
在这里插入图片描述
也可以用鲁大师,用鲁大师查看,确实是千兆网口。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
命令行输入ipconfig/all,可以查看IP地址。
在这里插入图片描述
打开这里,右击以太网属性,我的是第一个。
在这里插入图片描述
点击对应的,点击属性,出来这个,点击:使用下面的IP地址,把对应的IP地址输入
在这里插入图片描述
或者像下面一样,使用IP配置工具,这样两个相机的IP地址就配置成功了:
在这里插入图片描述
这样就配置好了:
在这里插入图片描述
打开CSDN,阅读体验更佳
网络IP与相机IP的设定
网络IP与相机IP的设定 填好IP地址后,点一下子网掩码的输入栏会自动填写子网掩码。然后点击确定即可完成电脑IP设定。
<环境配置>——大恒相机环境配置---windows/linux
1.官网下载SDK http://www.daheng-imaging.com/Software/index.aspx?nodeid=304 2.1windows下配置安装 解压安装后,配置环境,分为C++,C接口,直接全部配置。 2.2需要用到Opencv环境可提前配置好 出现CGalaxyEeception 找不到标识符的错误: gxsmartptr.h文件里面少写...
继续访问
最新发布 USB3 不显示大恒相机驱动(设备管理器可以发现但是软件中发现不了)
GalaxyView 不显示相机驱动
继续访问
【902】大恒相机网络配置
连接名称:daheng 选择IPv4->手动->点击:添加 输入地址:192.168.29.41 子网掩码:255.255.255.0 网 关:192.168.29.1 服务器:202.106.0.20
继续访问
大恒水星系列Gige数字相机外触发接线
PLC或机器人输出IO作为相机的触发信号 大恒水星系类Gige数字相机外触发线接到台达PLC或者雅马哈机器人IO输出端,作为触发信号的接线方法。 手册里提供的接线图如下 转换为接线图如下图 注意:此电路中要在PLC或机器人的对应输出IO上接相应的上拉电阻,一般串进去2KΩ的电阻。 ...
继续访问
大恒相机开发问题(错误码: -8)无法打开相机
前言: 记录一下大恒相机开发中的问题,如果能给和我一样正在摸索的小白一些帮助就更好了。 一、问题: 错误码: -8 错误描述信息: {Accessdenied:{1005}{GenICam::Client::CGVCPCtrlPort::__RecvReadRegCmdAck:line[394]}{TLError:The access to the requested device is denied.}} **原因:**相机设备没有正常关闭 **解决:**两种方法 1、在IP配置工具中直接选择复位设备或连
继续访问
Basler千兆网相机使用相关设置
关于千兆Baster相机使用时的相关设置
继续访问
大恒相机gige接口在linux环境下的驱动安装和配置
在大恒官网下载驱动包,附上链接: https://www.daheng-imaging.com/Software/index.aspx?nodeid=304 下面是具体的安装步骤:
继续访问
大恒相机文件配置V1.1
复制大恒驱动文件时需要重复性 *** 作的事情
继续访问
vs-halcon-大恒相机配置
vs-halcon
继续访问
daheng相机 网口 ros 下运行
1.下载这个资源就对了. https://download.csdn.net/download/zhenzhidemaoyi/12912913?spm=1001.2014.3001.5501 这个大佬还管售后~ 就下载下来的文件,把daheng这个文件夹放到自己的工作空间, catkin_make 就行了. 要先下载并编译daheng自己在linux 下的驱动. https://www.daheng-imaging.com/Software/index.aspx?nodeid=304 驱动安
继续访问
linux下使用opencv读取大恒相机
前言 大恒网口相机真的有点坑,api很难用,还好技术支持比较有耐心,一点一点的帮着解决了问题。 驱动安装 首先去大恒官网去下载linux下面的驱动,除了C++版本,还有python版本。一定要注意:linux下面安装驱动时,要看自己的内核版本支不支持相机的驱动,这一点很坑,要问清楚,到后面,也是费了很大劲才更换的内核。 这是我这个相机驱动支持的linux内核,然后,安装驱动即可。 安装完驱动后...
继续访问
vs+Qt+opencv+大恒相机开发(基础功能,适合初学者学习)
Qt+VS2019+大恒相机开发
继续访问
以路由器或者交换机作为相机连接端口的连接方式
以路由器或者交换机作为网口相机连接端口的连接方式 今天遇到一个问题,主机上有两个网口可用,但要同时连接3个相机进行图像采集,那么面临的问题是网口不够用。 这时除了给主机添加网卡,拓展网口还可以用交换机或者路由器来作为相机的连接端口。 我们可以在局域网的状态下连接3个相机和主机网口,将3个相机的网线连接的路由器或交换机的LAN口,主机的网线也连接一个LAN口。
继续访问
双网口相机平台搭建C++(大恒水星)
这次并不满足我的使用,后面我又改成C开发了,C++开发只做到这里,当然也有很多参考价值,C开发也差不多,这里是X86的,因为和下位机的通信是32位的,也要变成X86的。 主要工作模块与功能: 创建基于对话框的MFC工程,生成FIRAAPP 配置引用头文件: 配置Lib文件: 下面是用序列号打开设备的举例: //打开设备,此处以序列号为例打开设备,序列号以实际设备为准。用户可以选择其他方式打开设备。 #ifdef_DEBUG CGXDevicePointerobjDeviceP
继续访问
大恒相机-水星(MERCURY)系列 | 软件启动
型号名称说明 我使用的型号是MER-139-210U3C,关于大恒水星系列的型号说明如下: 驱动安装 在 大恒官网——下载中心——软件下载可以找到对应的相机驱动: 之后一路 next 傻瓜式安装即可 启动软件 点击下载后的 Daheng Galaxy Viewer,将相机和镜头接好后连接电脑供电(黄色指示灯亮起),点击刷新设备列表: 双击检测到的设备: 点击采集按键,即可采集图像: 后续继续更新SDK开发和图像处理… ...
继续访问
迈德威视网口相机--配置及使用
迈德威视网口相机–配置及使用 由于主机需要和相机配置在同一个网段,需要把主机电脑设置为固定ip,由于将两个网口相机经过交换机引入,现在电脑有两个网卡,只需要配置下面的网卡的IP就行,【注意】不能配置上网的ip为固定,可能会造成上不了网。 ...
继续访问
Halcon连接大恒相机
1. 先使用大恒自带的图像采集exe 查看图像采集是否正常; 2. 之后打开halcon的采集助手,注意选对接口! 3. 选对设备,点击连接,然后实时采集,看是否成功 4. 下一步就可以选择生成代码,一直到VS中即可; ...
继续访问
NVIDIA Jetson Xavier配置大恒相机驱动(gige接口火星系列)
一、下载驱动 下载链接:https://www.daheng-imaging.com/Software/index.aspx?nodeid=304 这里要注意:Xavier采用ARMv8架构,因此下载的版本要选择下图红框选中的那个。 下载完成后,要检查自己Xavier的环境是否满足大恒相机驱动安装的配置。 ...
继续访问
大恒相机配置属性表
用于大恒相机属性表的相关配置,下载后根据自己目录进行修改,我下载到D:\Program Files下了 ,配置很全。
c++
图像识别
写评论
评论
2
点赞
踩
分享
在linux下所有设备都是文件。所以对摄像头的 *** 作其实就是对文件的 *** 作。USB摄像头的设备文件就是在/dev目录下的video0(假如只有一个摄像头)。在linux下 *** 作摄像头就是使用v4l2对摄像头进行视频的 *** 作, *** 作步骤如下1. 打开设备文件。
int fd=open(”/dev/video0″,O_RDWR)
2. 取得设备的capability,看看设备具有什么功能,比如是否具有视频输入,或者音频输入输出等。VIDIOC_QUERYCAP,struct v4l2_capability
v4l2_std_id std
do {
ret= ioctl(fd, VIDIOC_QUERYSTD, &std)
} while (ret == -1 &&errno == EAGAIN)
switch (std) {
case V4L2_STD_NTSC:
//……
case V4L2_STD_PAL:
//……
}
3. 选择视频输入,一个视频设备可以有多个视频输入。VIDIOC_S_INPUT,struct v4l2_input(可不要)
4. 设置视频的制式和帧格式,制式包括PAL,NTSC,帧的格式个包括宽度和高度等。
VIDIOC_S_STD,VIDIOC_S_FMT,struct v4l2_std_id,struct v4l2_format
struct v4l2_format fmt
memset ( &fmt, 0, sizeof(fmt) )
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE
fmt.fmt.pix.width = 320
fmt.fmt.pix.height = 240
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_JPEG
if (ioctl(fd, VIDIOC_S_FMT, &fmt) <0)
{
printf("set format failed\n")
//return 0
}
5. 向驱动申请帧缓冲,一般不超过5个。struct v4l2_requestbuffers
struct v4l2_requestbuffers req
memset(&req, 0, sizeof (req))
req.count = 4
req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE
req.memory = V4L2_MEMORY_MMAP
if (ioctl(fd,VIDIOC_REQBUFS,&req) == -1)
{
perror("VIDIOC_REQBUFS error \n")
//return -1
}
6.申请物理内存
将申请到的帧缓冲映射到用户空间,这样就可以直接 *** 作采集到的帧了,而不必去复制。将申请到的帧缓冲全部入队列,以便存放采集到的数据.VIDIOC_QBUF,struct v4l2_buffer
VideoBuffer* buffers = calloc( req.count, sizeof(VideoBuffer) )
printf("sizeof(VideoBuffer) is %d\n",sizeof(VideoBuffer))
struct v4l2_buffer buf
for (numBufs = 0numBufs <req.countnumBufs++)
{
memset( &buf, 0, sizeof(buf) )
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE
buf.memory = V4L2_MEMORY_MMAP
buf.index = numBufs
if (ioctl(fd, VIDIOC_QUERYBUF, &buf) <0)
{
printf("VIDIOC_QUERYBUF error\n")
//return -1
}
printf("buf len is %d\n",sizeof(buf))
//内存映射
buffers[numBufs].length = buf.length
buffers[numBufs].offset = (size_t) buf.m.offset
buffers[numBufs].start = mmap (NULL, buf.length,PROT_READ | PROT_WRITE, MAP_SHARED, fd, buf.m.offset)
printf("buffers.length = %d,buffers.offset = %d ,buffers.start[0] = %d\n",buffers[numBufs].length,buffers[numBufs].offset,buffers[numBufs].start[0])
printf("buf2 len is %d\n",sizeof(buffers[numBufs].start))
if (buffers[numBufs].start == MAP_FAILED)
{
perror("buffers error\n")
//return -1
}
if (ioctl (fd, VIDIOC_QBUF, &buf) <0)
{
printf("VIDIOC_QBUF error\n")
//return -1
}
}
7. 开始视频的采集。
enum v4l2_buf_type type
type = V4L2_BUF_TYPE_VIDEO_CAPTURE
if (ioctl (fd, VIDIOC_STREAMON, &type) <0)
{
printf("VIDIOC_STREAMON error\n")
// return -1
}
8. 出队列以取得已采集数据的帧缓冲,取得原始采集数据。VIDIOC_DQBUF, 将缓冲重新入队列尾,这样可以循环采集。VIDIOC_QBUF
if (ioctl(fd, VIDIOC_DQBUF, &buf) <0)
{
perror("VIDIOC_DQBUF failed.\n")
//return -1
}
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE
buf.memory = V4L2_MEMORY_MMAP
unsigned char *ptcur = buffers[numBufs].start
DEBUG("buf.bytesused = %d \n",buf.bytesused)
int i1
for(i1=0i1<buf.bytesusedi1++)
{
if((buffers[numBufs].start[i1] == 0x000000FF) &&(buffers[numBufs].start[i1+1] == 0x000000C4))
{
DEBUG("huffman table finded! \nbuf.bytesused = %d\nFFC4 = %d \n",buf.bytesused,i1)
break
}
}
if(i1 == buf.bytesused)printf("huffman table don't exist! \n")
int i
for(i=0i<buf.bytesusedi++)
{
if((buffers[numBufs].start[i] == 0x000000FF) &&(buffers[numBufs].start[i+1] == 0x000000D8)) break
ptcur++
}
DEBUG("i=%d,FF=%02x,D8=%02x\n",i,buffers[numBufs].start[i],buffers[numBufs].start[i+1])
int imagesize =buf.bytesused - i
DEBUG("buf.bytesused = %d \n",buf.bytesused)
DEBUG ("imagesize = %d \n",imagesize)
9. 停止视频的采集。VIDIOC_STREAMOFF
10. 关闭视频设备。close(fd)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)