如何快速连接Basler工业摄像头,获取并保存图像和视频(python+opencv+pypylon)
写在前面:电脑已经安装anaconda(或者miniconda)
如有需要,请联系:qq:2953392202
1.打开anaconda
2.搭建虚拟环境
conda create -n yanshi python=3.7
3.激活虚拟环境
conda activate yanshi
4.新建文件夹用于存python文件
5.进入虚拟环境
cd yanshi
6.下载opencv-python
pip install opencv-python
7.下载pypylon
pip3 install pypylon
8.用记事本新建一个python文件并保存
9.将以下python代码复制到新建的文件中
from pypylon import pylon
import cv2
import datetime
import time
# conecting to the first available cameracamera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice())# Grabing Continusely (video) with minimal delay
camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)
converter = pylon.ImageFormatConverter()# converting to opencv bgr format
converter.OutputPixelFormat = pylon.PixelType_BGR8packed
converter.OutputBitAlignment = pylon.OutputBitAlignment_MsbAlignedwhile camera.IsGrabbing():grabResult = camera.RetrieveResult(1000, pylon.TimeoutHandling_ThrowException)if grabResult.GrabSucceeded():# Access the image dataimage = converter.Convert(grabResult)img = image.GetArray()cv2.namedWindow('title', cv2.WINDOW_NORMAL)cv2.imshow('title', img)k = cv2.waitKey(1)#按键盘“s"保存图像if k == ord('s'):#保存图像路径cv2.imwrite('D:/learn/photos/a.jpg', img)#按键盘‘q'退出elif k == ord('q'):breakgrabResult.Release()# Releasing the resource
camera.StopGrabbing()cv2.destroyAllWindows()
以上代码是获取摄像头图像
10.在终端中跑python文件
python huoqu.py
附:
连续获取获取摄像头图像并保存的代码:
#连续输出并保存图像
from pypylon import pylon
import cv2
import datetime
import time# conecting to the first available cameracamera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice())# Grabing Continusely (video) with minimal delay
camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)
converter = pylon.ImageFormatConverter()# converting to opencv bgr format
converter.OutputPixelFormat = pylon.PixelType_BGR8packed
converter.OutputBitAlignment = pylon.OutputBitAlignment_MsbAligned
i = 0
while camera.IsGrabbing():grabResult = camera.RetrieveResult(1000, pylon.TimeoutHandling_ThrowException)if grabResult.GrabSucceeded():# Access the image dataimage = converter.Convert(grabResult)img = image.GetArray()cv2.namedWindow('title', cv2.WINDOW_NORMAL)cv2.imshow('title', img)#连续输出图像路径,按数字顺序给图像命名cv2.imwrite('D:/learn/photos/'+str(i)+'.jpg', img)i=i+1#每隔0.025秒采集一张图像time.sleep(0.025)k = cv2.waitKey(1)if k == ord('s'):breakgrabResult.Release()# Releasing the resource
camera.StopGrabbing()cv2.destroyAllWindows()
将图像组合成视频的代码:
#组合图片为视频
import cv2
import os#图片路径
im_dir = 'D:/learn/photos'
#输出视频路径
video_dir = 'D:/learn/photos/video/a.avi'
#帧率
fps = 30
#图片数
num = 232
#图片尺寸
img_size = (1920,1200)#fourcc = cv2.cv.CV_FOURCC('M','J','P','G')#opencv2.4
fourcc = cv2.VideoWriter_fourcc('M','J','P','G') #opencv3.0
videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)for i in range(1,num):im_name = os.path.join(im_dir, str(i)+'.jpg')frame = cv2.imread(im_name)videoWriter.write(frame)videoWriter.release()
print('finish')
直接获取视频代码:
#连续输出并保存图像
from pypylon import pylon
import cv2
import osimport time
# conecting to the first available cameracamera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice())# Grabing Continusely (video) with minimal delay
camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)
converter = pylon.ImageFormatConverter()# converting to opencv bgr format
converter.OutputPixelFormat = pylon.PixelType_BGR8packed
converter.OutputBitAlignment = pylon.OutputBitAlignment_MsbAligned
i = 0
while camera.IsGrabbing():grabResult = camera.RetrieveResult(1000, pylon.TimeoutHandling_ThrowException)if grabResult.GrabSucceeded():# Access the image dataimage = converter.Convert(grabResult)img = image.GetArray()cv2.namedWindow('title', cv2.WINDOW_NORMAL)cv2.imshow('title', img)cv2.imwrite('D:/learn/photos/'+str(i)+'.jpg', img)i=i+1time.sleep(0.025)k = cv2.waitKey(1)if k == ord('s'):#图片路径im_dir = 'D:/learn/photos'
#输出视频路径video_dir = 'D:/learn/photos/video/a.avi'
#帧率fps = 40
#图片数num = i
#图片尺寸img_size = (1920,1200)fourcc = cv2.VideoWriter_fourcc('M','J','P','G') #opencv3.0videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)for i in range(1,num):im_name = os.path.join(im_dir, str(i)+'.jpg')frame = cv2.imread(im_name)videoWriter.write(frame)videoWriter.release()print('finish')breakgrabResult.Release()
# Releasing the resource
camera.StopGrabbing()
cv2.destroyAllWindows()
如何快速连接Basler工业摄像头,获取并保存图像和视频(python+opencv+pypylon)相关推荐
- 通过python调用海康威视工业摄像头并进行图像存储,同时使用opencv实时图像显示(数据流问题已解决)
通过python调用海康威视工业摄像头并进行图像存储,同时使用opencv实时图像显示. 1:图像存储方式 先说情况,本人是做视觉检测的需要高倍率摄像头进行实时检测,也就是需要深度学习进行图片数据处理 ...
- 蓝牙快速连接 android,Android智能设备快速连接蓝牙的方法与流程
技术特征: 1.Android智能设备快速连接蓝牙的方法,其特征在于,在Android系统根目录下的init.rc中注册native蓝牙服务,native蓝牙服务进程在开机时启动,完成对本机蓝牙模块和 ...
- matlab打开笔记本摄像头_如何利用MATLAB实现摄像头视频获取和保存
一.读取摄像头视频 如题目,首先你需要有一个摄像头(usb或者本本自带的都可以)并且安装好了驱动,保证设备可以正常使用. 先来段简单的通过MATLAB显示摄像头视频的代码: vid = videoin ...
- 5、树莓派连接官方CSI摄像头的使用
本篇博文大部分转https://blog.csdn.net/u013162035/article/details/78580486 其中有部分细节根据自己的实际操作进行了修改 5.1树莓派基本操作 目 ...
- 如何用Xshell快速连接远程电脑
使用过终端模拟器的会发现,在Xshell中除了使用会话连接远程,其实还可以使用本地提示或地址栏连接远程电脑,而且后两者的连接速度比会话连接要快许多.下面就一起来学习如何使用本地提示和地址栏快速连接远程 ...
- 海康工业摄像头调用(linux基于python和opencv)
1.下载官网客户端(其中包含SDK) 官方网站 海康机器人-机器视觉-下载中心 安装deb文件 sudo dpkg -i deb文件名 2.运行客户端 cd /opt/MVS/bin/ ./MVS. ...
- python照片过人脸_python openCV实现摄像头获取人脸图片
本文实例为大家分享了python openCV实现摄像头获取人脸图片的具体代码,供大家参考,具体内容如下 在机器学习中,训练模型需要大量图片,通过openCV中的库可以快捷的调用摄像头,截取图片,可以 ...
- 三步快速免费开发工业手机APP,远程监控西门子300PLC数据
三步快速免费开发工业手机APP,远程监控西门子300PLC数据 (工业APP之于制造 巨控_何工) 互联网的飞速发展为人们的生活带来了翻天覆地的变化.工业APP ...
- 一个USB HUB连接多个摄像头同时工作问题处理
一个USB HUB连接多个摄像头同时工作问题处理 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 目录 一个USB HUB连接多个摄像 ...
最新文章
- (转)面试必备技能:JDK动态代理给Spring事务埋下的坑!
- ue4 曲线图实现 蓝图_UE4蓝图解析(一)
- wordpress使用的插件记录
- php算法在线刷题,c,算法_每日一道算法:leetcode 刷题碰到的问题。,c,算法 - phpStudy...
- form表单提交数据丢失问题
- linux判断文件是否为空,linux shell编程 如何判断一个文件是否为空
- iOS笔记(一)GCD多线程:信号量和条件锁
- python自学视频教程 38-自学 Python,视频教程和代码一看就懂,动手就废,应该这么学...
- 安装篇——新建一个VUE项目
- WOL局域网与外网远程唤醒概要
- MapGIS Mobile开发
- 如何区分直连串口线和交叉串口线
- 1094: 【基础】填词 【循环】
- 看小姐姐用动图展示 10 大 Git 命令
- 前端实现压缩图片的功能(vue-element)
- uni-app思维导图
- ZYNQ图像处理|静态图像通路|VDMA寄存器、DDR内存操作
- iphone修改密码时服务器,iPhone 突然弹出窗口要求修改密码怎么办?
- DSPE-PEG2K-MAL|磷脂聚乙二醇马来酰亚胺(DSPE-PEG-MAL)|二硬脂酰基磷脂酰乙醇胺 聚乙二醇 马来酰亚胺,齐岳生物
- 手机闪存速度排行_手机很卡可能是只是因为闪存颗粒太差 EMMC UFS大对比