基于python的opencv摄像头采集

时间:2025-02-09 19:09:36

直接上例程

# -*- coding: utf-8 -*-
import cv2
import numpy as np

from std_msgs.msg import String
import ftplib

ftp = ()  # 设置变量 ,实例化
ftp.set_debuglevel(2)  # 打开调试级别2,显示详细信息
("255.255.255.255", 000)  # 连接的ftp sever和端口
("***", "**")  # 连接的用户名,密码
bufsize = 1024
print(())  # 打印出欢迎信息

("/usr/cameraaround")


cap1 = (0)         # 表示 打开内置摄像头,参数0是视频文件路径则打开视频

while ():  # 返回值确定摄像头是否开启
    det1, img1 = ()   # 按帧读取数据,第一个参数是确定读取数据的返回值是否正确,第二个就是每一帧的图像

    # det2, img2 = ()
    if det1:
        ('img1', img1)  # 窗口显示,显示名为img1

    k = (1)

    ('', img1)    # 第一个参数表示要写入的文件名,必须加入后缀名,第二个表示要写入的图像数据类型
    (1)

    img1 = ('')
    print()
    x, y = [0:2]  # 提取图像采集的长宽
    img_test1 = (img1, (int(y / 18), int(x / 18)))  # 长宽除三
    ('', img_test1)  # 裁剪完保存图片
    file = ""
    file_handle = open(file, "rb")  # 
    ("STOR ", file_handle, bufsize)

    # ('r0', img_test1)  # 展示裁剪完的图片
    (400)

    if k == ord('q'):    # 等待键盘输入,,参数为1表示延时1ms切换下一帧图像,参数0表示只显示当前图像
        break
()  # 释放摄像头
()  # 关闭所有图像窗口

注释很详细,后续还有接收topic,转化为opencv格式图像并以多线程方式上传到服务器