deviceList = enum_devices(device=0, device_way=False)
# 判断不同类型设备
identify_different_devices(deviceList)
# 输入需要被连接的设备
nConnectionNum = input_num_camera(deviceList)
# 创建相机实例并创建句柄,(设置日志路径)
cam, stDeviceList = creat_camera(deviceList, nConnectionNum, log=False)
# decide_divice_on_line(cam) ==============
# 打开设备
open_device(cam)
# ch:设置触发模式为off | en:Set trigger mode as off
ret = cam.MV_CC_SetEnumValue("TriggerMode", MV_TRIGGER_MODE_OFF)
# # 设置缓存节点个数
# set_image_Node_num(cam, Num=10)
# # 设置取流策略
# set_grab_strategy(cam, grabstrategy=2, outputqueuesize=10)
# 设置设备的一些参数
# set_Value(cam, param_type="bool_value", node_name="TriggerCacheEnable", node_value=1)
# 获取设备的一些参数
# get_value = get_Value(cam , param_type = "int_value" , node_name = "PayloadSize")
stdcall = input("回调方式取流显示请输入 0 主动取流方式显示请输入 1:")
if int(stdcall) == 0:
# 回调方式抓取图像
call_back_get_image(cam)
# 开启设备取流
start_grab_and_get_data_size(cam)
# 当使用 回调取流时,需要在此处添加
print("press a key to stop grabbing.")
msvcrt.getch()
# 关闭设备与销毁句柄
close_and_destroy_device(cam)
elif int(stdcall) == 1:
# 开启设备取流
start_grab_and_get_data_size(cam)
# 主动取流方式抓取图像
access_get_image(cam, active_way="getImagebuffer")
# 关闭设备与销毁句柄
close_and_destroy_device(cam)
这样一来问题就解决了!
关于海康相机的触发模式可以参考这篇文章:
海康相机的触发模式_zxmyoung的博客-CSDN博客
前一段时间做项目用的是海康工业相机,想在python代码中调用相机拍照,参考了这篇文章:python调用海康工业相机并用opencv显示(整体实现)_J&A~ing的博客-CSDN博客_python调用海康工业相机代码大致是需要循环调用相机拍照,以拍到的照片作为条件调用Vision Master软件特定模板。在进行一次循环之后,发现运行代码出现了如下问题:no data[0x80000007]通过查询海康的官方文件,发现状态码0x80000007表示无数据。
Python
官方的mvs文件下的development/samples下的
python
注意:相机连接后不要用官方app打开相机,不然
python
代码检测不到设备,代码在pycharm会提示报错,亲测能跑并能截取到图片
# -- coding: utf-8 --
import sys
import copy
import msvcrt
from ctypes import *...
最近在进行机器视觉系统的搭建,积累了经验,想和大家讨论、互相学习。相机是图像的来源。为了搭建视觉系统,完成图像分析、机器视觉任务,需要编程控制相机按工作所需的曝光、增益和帧率同步采集和存储图像。
通常支持C/C++程序进行控制,提供了SDK(Software Development Kit)。这些SDK包括对相机进行基本控制的函数,利用这些函数,就可以控制相机参数(如曝光时间、增益、帧率、像素格式),满足视觉系统任务需求。
1.1相机选型
分为彩色工业(...
Python
语言具有广泛的应用范围,其中涉及到
SDK实时预览
opencv
也是很常见的一种应用方式。
Python
SDK实时预览
opencv
有以下步骤:
1. 安装
首先需要在官网下载并安装
SDK,并在安装后把SDK自带的头文件和库文件放到自己的项目目录下。
2. 安装
OpenCV
需要在本地安装好
OpenCV
,并确保可以在
python
OpenCV
3. 编写
Python
python
中编写程序,首先需要导入
SDK的相关库,如
SDK的头文件和库文件。以
Python
2为例,代码如下:
import os
import sys
import datetime
import time
import cv2
from HCNetSDK import *
4. 初始化
Python
程序中通过NET_DVR_Init()函数初始化
SDK,这个函数需要在使用
SDK的任何其他函数之前
5. 登录设备
登录设备可以通过NET_DVR_Login_V30()函数实现,其中需要传入设备IP地址、端口号、用户名和密码等参数。
6. 获取实时预览
通过NET_DVR_RealPlay_V30()函数获取实时预览图像。该函数需要传入设备登录ID、预览窗口句柄等参数,可以使用
OpenCV
7. 停止预览和退出登录
在程序结束时需要通过NET_DVR_StopRealPlay()和NET_DVR_Logout()函数停止预览和退出登录。
Python
SDK实时预览
opencv
的基本流程。在实际应用中,可以根据需要进行调整和完善。
python 使用pyinstaller -D命令打包程序出现PyInstallerImportError: Failed to load dynlib/dll的问题
m0_59405727:
差点把我电脑搞废了
python 使用pyinstaller -D命令打包程序出现PyInstallerImportError: Failed to load dynlib/dll的问题
不做猿人:
内存直接爆了...
python调用海康工业相机并用opencv显示 出现no data[0x80000007]
Jin·:
你好 问一下 回调取流时候怎么设置按指定键停止取图?设置了msvcrt.getch() 似乎没有用,cv2.waitKey(1) & 0xFF也没有效果,请问怎么设置
python 使用pyinstaller -D命令打包程序出现PyInstallerImportError: Failed to load dynlib/dll的问题
Tongdao_Chibai:
你是用的pyinstaller -D打包的吗?只有一个exe文件不是-D
python 使用pyinstaller -D命令打包程序出现PyInstallerImportError: Failed to load dynlib/dll的问题
这孩子谁懂哈:
把它复制到/dist/里程序所在的文件夹里 大佬这句是什么意思?dist文件夹里面只有一个已经打包好的exe文件,该如何操作?
魁梧的绿茶
在使用Flask-SQLAlchemy中的db.engine.execute()命令执行update(更新)操作后,再调用select(查询)查询命令得到的结果集未被更新。
2 小时前