Python 摄像头 树莓派 USB mjpb

复制代码
import cv2
import urllib.request
import numpy as np
import sys
host = "192.168.1.109:8080" #在这里记得修改IP,否则是无法调用的,刚刚浏览器输入的地址
if len(sys.argv)>1:
    host = sys.argv[1]
hoststr = 'http://' + host + '/?action=stream'
print('Streaming ' + hoststr)

print('Print Esc to quit')
stream=urllib.request.urlopen(hoststr)
bytes=bytes()
while True:
    bytes+=stream.read(1024)
    a = bytes.find(b'\xff\xd8')
    b = bytes.find(b'\xff\xd9')
    if a!=-1 and b!=-1:
        jpg = bytes[a:b+2]
        bytes= bytes[b+2:]
        #flags = 1 for color image
        i = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),flags=1)
       # print i.shape
        cv2.imshow("wjw",i)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            exit(0)
复制代码

 

复制代码
import cv2
import urllib.request
import numpy as np
import sys
import base64
import time
import os

host = "192.168.1.109:8080" #在这里记得修改IP,否则是无法调用的,刚刚浏览器输入的地址
if len(sys.argv)>1:
    host = sys.argv[1]
hoststr = 'http://' + host + '/?action=stream'
print('Streaming ' + hoststr)

print('Print Esc to quit')
stream=urllib.request.urlopen(hoststr)
bytes=bytes()
while True:
    bytes+=stream.read(1024)
    a = bytes.find(b'\xff\xd8')
    b = bytes.find(b'\xff\xd9')
    if a!=-1 and b!=-1:
        jpg = bytes[a:b+2]
        bytes= bytes[b+2:]
        #flags = 1 for color image
        i = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),flags=1)
       # print i.shape
        cv2.imshow("wjw",i)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            exit(0)


        name = str(time.time())
        p = '/home/wjw/Desktop/123/'+name+'.jpg'
        # 判断目录是否存在
        if not os.path.exists(os.path.split(p)[0]):
            # 目录不存在创建,makedirs可以创建多级目录
            os.makedirs(os.path.split(p)[0])
        try:
            # 保存数据到文件
            with open(p, 'wb') as f:
                f.write(jpg)
            print('保存成功')
        except Exception as e:
            print('保存失败', e)
复制代码

 

posted @   叫我+V  阅读(491)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示