今天使用到了大恒的USB工业相机,需要逐帧率采集图片,并保存在本地。以下是采集过程。
1、安装python的PIL图像处理库
安装方法,点击此处:Win7 64位下Python安装PIL图像处理库
2、需要安装摄像机驱动
1.、进入大恒官网
官网地址,点击此处:大恒图像官网
2、点击注册,填写信息注册成功后,点击下载中心,找到自己使用的摄像头,以及对应的系统,进行驱动下载安装即可
3、直接在驱动安装路径下,找到Python SDK,然后直接在对应的目录下写脚本即可。
4、对部分常用参数进行封装
3、实现的脚本如下
import gxipy as gx
from PIL import Image
import datetime
Author:NoamaNelson
Date:2019-11-21
Discription:Secondary development of pythonsdk of Daheng camera.
def main():
Width_set = 640 # 设置分辨率宽
Height_set = 480 # 设置分辨率高
framerate_set = 80 # 设置帧率
num = 500 # 采集帧率次数(为调试用,可把后边的图像采集设置成while循环,进行无限制循环采集)
print("")
print("###############################################################")
print(" 连续获取彩色图像并显示获取的图像.")
print("###############################################################")
print("")
print("摄像机初始化......")
print("")
#创建设备
device_manager = gx.DeviceManager() # 创建设备对象
dev_num, dev_info_list = device_manager.update_device_list() #枚举设备,即枚举所有可用的设备
if dev_num is 0:
print("Number of enumerated devices is 0")
return
else:
print("")
print("**********************************************************")
print("创建设备成功,设备号为:%d" % dev_num)
#通过设备序列号打开一个设备
cam = device_manager.open_device_by_sn(dev_info_list[0].get("sn"))
#如果是黑白相机
if cam.PixelColorFilter.is_implemented() is False: # is_implemented判断枚举型属性参数是否已实现
print("该示例不支持黑白相机.")
cam.close_device()
return
else:
print("")
print("**********************************************************")
print("打开彩色摄像机成功,SN号为:%s" % dev_info_list[0].get("sn"))
#设置宽和高
cam.Width.set(Width_set)
cam.Height.set(Height_set)
#设置连续采集
#cam.TriggerMode.set(gx.GxSwitchEntry.OFF) # 设置触发模式
cam.AcquisitionFrameRateMode.set(gx.GxSwitchEntry.ON)
#设置帧率
cam.AcquisitionFrameRate.set(framerate_set)
print("")
print("**********************************************************")
print("用户设置的帧率为:%d fps"%framerate_set)
framerate_get = cam.CurrentAcquisitionFrameRate.get() #获取当前采集的帧率
print("当前采集的帧率为:%d fps"%framerate_get)
#开始数据采集
print("")
print("**********************************************************")
print("开始数据采集......")
print("")
cam.stream_on()
#采集图像
for i in range(num):
raw_image = cam.data_stream[0].get_image() # 打开第0通道数据流
if raw_image is None:
print("获取彩色原始图像失败.")
continue
rgb_image = raw_image.convert("RGB") # 从彩色原始图像获取RGB图像
if rgb_image is None:
continue
#rgb_image.image_improvement(color_correction_param, contrast_lut, gamma_lut) # 实现图像增强
numpy_image = rgb_image.get_numpy_array() # 从RGB图像数据创建numpy数组
if numpy_image is None:
continue
img = Image.fromarray(numpy_image, 'RGB') # 展示获取的图像
#img.show()
mtime = datetime.datetime.now().strftime('%Y-%m-%d_%H_%M_%S')
img.save(r"D:\image\\" + str(i) + str("-") + mtime + ".jpg") # 保存图片到本地
print("Frame ID: %d Height: %d Width: %d framerate_set:%dfps framerate_get:%dfps"
% (raw_image.get_frame_id(), raw_image.get_height(), raw_image.get_width(), framerate_set, framerate_get)) # 打印采集的图像的高度、宽度、帧ID、用户设置的帧率、当前采集到的帧率
#停止采集
print("")
print("**********************************************************")
print("摄像机已经停止采集")
cam.stream_off()
#关闭设备
print("")
print("**********************************************************")
print("系统提示您:设备已经关闭!")
cam.close_device()
if __name__ == "__main__":
main()
4、运行结果
plastic thermal enhanced thin quad flat package; 100 leads; body 14 x 14 x 1 mm; exposed die pad
ARCHIVED - MRF7S27130HR3, MRF7S27130HSR3 2500-2700 MHz, 23 W Avg., 28 V, WiMAX Lateral N-Channel ...
设计元服务
ARCHIVED - MRF8S23120HR3, MRF8S23120HSR3 2300-2400 MHz, 28 W Avg., 28 V LTE Lateral N-Channel RF ...
Low-cost, low-power Arm926EJ microcontrollers with USB High-speed OTG, SD/MMC, and NAND flash co...
MHVIC2115R2 2170 MHz, 26 V, 23/34 dBm W-CDMA RF LDMOS Wideband Integrated Power Amplifier - Archived
安全日报(2023.06.26)
案例研究|中国矿业大学基于JumpServer构建运维安全体系
AI算力反碎片化:世界上最快的统一矩阵乘法
2023 开放原子全球开源峰会高峰论坛成功举办
MRF5P21180HR6 2170 MHz, 38 W Avg., 28 V, 2 x W-CDMA Lateral N-Channel RF Power MOSFET
MHL19338NN 1900-2000 MHz, 4.0 W, 30 dB RF Linear LDMOS Amplifier - Archived
图书搜索领域重大突破!用 Apache SeaTunnel、Milvus 和 OpenAI 提高书名相似度搜索精准度和效率
5 V, 3.3 V and 2.5 V quad UART, 5 Mbit/s (max.) with 16-byte FIFOs
飞致云开源社区月度动态报告(2023年7月)
“短期结果需要和长期规划结合”| 技术人金句系列
ARCHIVED - MRF8S9260HR3, MRF8S9260HSR3 920-960 MHz, 75 W Avg., 28 V Single W-CDMA Lateral N-Chann...
DPO 直接偏好优化:跳过复杂的对抗学习,语言模型本来就会奖励算法
MRF5S9070MR1 880 MHz, 70 W, 26 V Single N-CDMA Lateral N-Channel Broadband RF Power MOSFETs - Arc...
ARCHIVED - MMRF1018NR1, MMR1018NBR1 470-860 MHz, 90 W, 50 V Broadband RF Power LDMOS Transistors ...
5 V, 3.3 V and 2.5 V quad UART, 5 Mbit/s (max.), with 64-byte FIFOs and infrared (IrDA) encoder/d...
探索开源创新理论|2023 开放原子全球开源峰会开源创新理论与实践分论坛成功召开
了不起的互联网老男孩,在创业路上不掉队
32-bit Arm® Cortex®-M4 MCU; up to 512 kB flash, 96 kB SRAM; USB Device/Host...
Tellyouthepass勒索软件利用财务管理系统漏洞成规模入侵
MC68HC708MP16 HCMOS Microcontroller Unit TECHNICAL DATA - Data Sheet
OpenTiny 前端组件库正式开源啦!面向未来,为开发者而生
一文读懂HfTiO高栅介质GeMOS电容
案例研究|小牛电动通过DataEase进行业务数据可视化分析
MDE6IC7120NR1, MDE6IC7120GNR1 728-768 MHz, 25 W Avg., 28 V Single W-CDMA RF LDMOS Wideband Integr...
Real-time Edge Yocto Project User Guide
MRF9200LR3, MRF9200LSR3 880 MHz, 40 W Avg., 26 V Single N-CDMA Lateral N-Channel RF Power MOSFETs
plastic DIL-bent-SIL power package; 7 leads (lead length 12/11 mm); exposed die pad
MMRF1012NR1 10-450 MHz, 10 W, 50 V Broadband RF Power MOSFET - Data Sheet
基于GPT,为外贸企业打造触手可及的团队私有知识库
智能运维进入6.0时代,CloudwiseGPT运维大语言模型强势来袭!
逛开发者集市啦,ShardingSphere 在亚马逊云科技中国峰会等你!
ARCHIVED - MRF1513NT1 520 MHz, 3 W, 12.5 V, Lateral N-Channel Broadband RF Power MOSFET
下单稳定性治理 | 得物技术
MIFARE® PlusTM; Migrate classic contactless smart card systems to the next securi...
ARCHIVED - MMRF1315NR1 500-1000 MHz, 60 W CW, 28 V Broadband RF Power LDMOS Transistor - Data Sheet
98ARE10741D, 2031-01, 2031, Thermally Enhanced, Quad Flat Non-Leaded Package (QFN) 56 Terminal, 0...
plastic thermal enhanced low profile quad flat package; 100 leads; exposed die pad
联通 Flink 实时计算平台化运维实践
Gaining Efficiencies and Reducing Cost in a Competitive Environment
Running NXP® IEEE™ 802.15.4 Boards on MAC OS X Based Computers
程序员必读 | 《业务架构解构与实践》
首个国人主导的开源数据集成工具!揭秘 Apache 顶级项目 SeaTunnel 背后的故事
Using Asymmetric DSP Application Projects with CodeWarrior v10.1.8 or Later
云原生周刊:K8s v1.28 中的结构化身份验证配置
MRF9060LR1, MRF9060LSR1 945 MHz, 60 W, 26 V Lateral N-Channel Broadband RF Power MOSFETs - Archived
连续两年!PingCAP入选Gartner云数据库“客户之声”,获“卓越表现者”最高分
MULTI-APPLICATION HOSTING AND VIRTUALIZATION ON S32 REAL-TIME PROCESSORS FOR EFFECTIVE MULTI-ECU ...
Buck/boost HS-CAN/dual LIN system basis chip
plastic thermal enhanced thin shrink small outline package; 56 leads; body width 6.1 mm; exposed ...
SeaTunnel毕业!首个国人主导的数据集成项目成为Apache顶级项目
MRF18060ALR3 1805-1880 MHz, 60 W, 26 V Lateral N-Channel RF Power MOSFET - Archived
NXP kündigt Produktion der 2. Generation seiner 77-GHz-RFCMOS-Radar-Transceiver für ADAS und auto...
聚焦企业实践一线与个体职业成长|2023开放原子全球开源峰会OSPO分论坛成功举办
云原生周刊:Dapr 完成模糊测试审计 | 2023.7.10
【直播预告】Langchain: 大语言模型的新篇章
MC68HC05K3 HCMOS Microcontroller Unit TECHNICAL DATA - Data Sheet
2023开放原子全球开源峰会展区“云游图鉴”,带你畅游开源世界!
MRF6S9125NR1, MRF6S9125NBR1 865-960 MHz, 27 W Avg., 28 V Single N-CDMA, GSM EDGE Lateral N-Channe...
CVE-2023-37582:Apache RocketMQ 远程代码执行漏洞通告
TWR -MCF5441X Linux® - Web Server using Linux OS Lab Tutorial
Load Position-Independent Code (PIC) on a Kinetis Platform Using the IAR EWARM Compiler
活动预告|6月15 日 Apache Paimon Meetup,深入解读 Apache Paimon 0.4.0 !
Converting Projects to CodeWarrior® ColdFire® v7.0
【快应用】多语言适配案例
基于硬件FOC伺服电机控制芯片TMC4671
推荐一款文库下载工具
Flink 遇见 Apache Celeborn:统一的数据 Shuffle 服务
新增进程管理、SSH会话管理功能,1Panel开源面板v1.4.0发布
MRF374A 470-860 MHz, 130 W, 32 V Lateral N-Channel Broadband RF Power MOSFET - Archived
私有化的即时通讯软件能给企业带来什么好处?
3-phase BLDC Motor Control with Sensorless Back-EMF ADC Zero Crossing Detection using DSP 56F80x
5 小时玩转阿里云 Flink 实时湖仓,速速报名!
MRF9060LSR1 945 MHz, 60 W, 26 V Lateral N-Channel Broadband RF Power MOSFET
营销安全与区块链安全榜单发布,顶象荣膺冠亚军