导航

    • 登录
    • 搜索
    • 版块
    • 产品
    • 教程
    • 论坛
    • 淘宝
    1. 主页
    2. yqw6
    3. 楼层
    Y
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 帖子
    • 楼层
    • 最佳
    • 群组

    yqw6 发布的帖子

    • RE: 关于拍照时内容溢出的问题

      @kidswong999
      与问题相关的代码在这里:

      #camera类:初始化相机,拍照
      class camera:
          def __init__(self):
              # Reset sensor
              sensor.reset()
              # Set sensor settings
              sensor.set_contrast(1)#设置对比度
              sensor.set_brightness(1)#设置亮度
              sensor.set_saturation(1)#设置饱和度
              sensor.set_gainceiling(16)#设置相机图像增益上限
              sensor.set_framesize(sensor.VGA)#设置帧大小
              sensor.set_pixformat(sensor.RGB565)#设置像素模式
              #sensor.skip_frames(time = 2000)     # Wait for settings take effect.
      
          def getImage(self):
              frame = sensor.snapshot()
              cframe = frame.compressed(quality=50)
              #print(type(cframe))
              return cframe
      
      #clientSOCK:套接字客户端,发送图片
      class clientSOCK:
      
          def __init__(self,host,port):
              self.host=host
              self.port=port
              self.sock=usocket.socket(usocket.AF_INET,usocket.SOCK_STREAM)
              self.sock.connect((self.host,self.port))
              print("连接成功")
          def send(self,content,op):
              #发送文本消息
              if op==1:
                  self.sock.send(content)
                  self.sock.send("|*text*|")
                  a=b''
                  print("1")
                  recv=self.sock.recv(1024)
                  print("2")
                  #while recv:
                      #a+=recv
                      #recv=self.sock.recv(1024)
                  res=a.decode()
                  print("I have message:",res)
                  return res
              #发送图片消息
              if op==2:
                  self.sock.send(content)
                  self.sock.send("|*graph*|")
                  return
              return
      
      #循环:
      while True:
          #先建立TCP连接
          cli=clientSock(serverIP,serverPort)
          #初始化摄像模块
          pho = camera()
          #拍照
          img = getImage()
          #发送图片
          cli.send(img,2)
      

      做过的尝试:
      1.调低图像帧数(试过QVGA,QQVGA,),调整compressed函数的参数(试过50,10)
      仍然只能发送一次,就报MemoryError的错误,见题干截图
      2.使用VGA彩色图,不压缩直接发送,
      虽然能多次发送了,服务器收到的byte流经过解析无法得到JPEG图片,猜测不经压缩的图片不是常规JPEG格式。

      希望得到的帮助:
      如代码while循环所示,如何能多次拍摄,压缩彩色的图像?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: 关于拍照时内容溢出的问题

      @yqw6 更新一个报错截图
      0_1551259770841_d2a6798c-45c7-4823-a6e4-480a28e38da7-image.png

      发布在 OpenMV Cam
      Y
      yqw6
    • 关于拍照时内容溢出的问题

      摄像头的设置如下:
      0_1551259357279_85e7214e-c47d-4d24-b921-5c654221ee27-image.png
      当我在一个whileTrue 循环中拍照时,
      代码:cframe = frame.compressed(quality=50)报错如下:
      0_1551259223598_a584a8f4-15e8-429f-93b3-5a68bc92e143-image.png
      注意:
      最开始我将quality设置为100,报错后根据提示,调小quality值为50,
      不幸的是问题没有被解决。
      我希望在不降低quality的条件下,连续拍照,请问有没有好的解决方案?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: 关于openmv函数库IMAGE类的疑问| 上传图片数据

      谢谢
      我这里使用的是文档中的示例代码
      0_1551151749550_c291bdfe-a217-4e26-aedc-426c9fde065d-image.png
      0_1551151780032_74d0986b-e147-469d-88f2-c61d05c8eb19-image.png
      请问如果需要设置图片格式为jpeg,该如何修改代码?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: 关于openmv函数库IMAGE类的疑问| 上传图片数据

      您知道openMV拍摄的图片格式吗?jpg,jpeg,bmp...?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: 关于openmv函数库IMAGE类的疑问| 上传图片数据

      您好,经过修改,现在服务器上收到的数据如下
      0_1551150821662_4a43da8b-cf22-446f-8033-019c5d8afff3-image.png
      这些应该是图片的数据信息了,
      请问怎么将它解码为图片呢?

      发布在 OpenMV Cam
      Y
      yqw6
    • 关于openmv函数库IMAGE类的疑问| 上传图片数据

      我希望将openmv拍摄到的图片直接上传到本地服务器上,
      因此,我尝试
      通过socket将snapshot返回的数据,
      发送到服务器上,不幸的是收到一堆乱码
      0_1551149715713_1d1d77bd-4f06-4239-90f1-cf9fa5969a51-image.png

      从函数库中我找到了这个函数:
      似乎能将图片压缩为字节流?
      0_1551149428680_8d0eedcd-fc5b-4d65-bd53-b405d3b49d1b-image.png
      然而压缩后还是Image类?

      最后,请帮忙解决上传图片数据的问题?
      有没有办法将image类变成字符串或比特流的数据通过串口发送出去?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: openMv发送图像到云端

      我在服务端通过socket收到了来自openmv的如下数据:b'\xff\xe4\xbd\xa0\xe6\x98\xaf\xe4\xb8\xaa\xe5\x9d\x8f\xe5\xa5\xb3\xe5\xad\xa9\xd8'

      请问怎么把这串编码转变成图片(视频)?

      发布在 OpenMV Cam
      Y
      yqw6
    • openMv发送图像到云端

      最近需要做个网络摄像头,就是用openmv拍摄图像,然后通过wifi发到我的服务器上。目前,已经知道openmv拍摄后的图像格式是mjpeg,也知道可以通过socket发出去。
      问题是,我的服务器上收到了这个格式的数据怎么把它变成图片(是不是应该把socket收到的数据解压缩?)
      请问openmv的图片压缩格式和解压缩格式?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: openmv报错oserror -9

      稍后我发给你,不过这个OSError -9 是什么意思啊?有没有错误说明文档什么的。。。

      发布在 OpenMV Cam
      Y
      yqw6
    • openmv报错oserror -9

      我用arduino和openmv连接,在openmv上连接wifi扩展板。
      openmv已经通过wifi扩展版连上了我的wifi。
      在openmv板上,首先接收arduino发来的数据,然后启动摄像头拍一张照片,接着把数据和照片都发到云端服务器上。
      运行时报错:oserror -9
      我将拍照部分代码注释,(就是只发送arduino的数据)再运行就没有报错了。
      下面是我部分代码
      # 读arduino
      ardinf = ''
      while True:
      ardinf = arduino.recv()
      if ardinf != None:
      break
      print("get None.")
      ardstr = ardinf.decode('utf-8')
      print("来自arduino:", ardstr)
      #mjpegstream = camera.getImage()
      #msb = bytes(mjpegstream)
      client.send(ardstr)
      #client.sendImage(mjpegstream)
      print("等待接收服务器...")
      feedback = client.recv().decode('utf-8')
      fbarray = feedback.split(',')
      arduino.send(fbarray[2:])
      print(feedback)

      醉了,难道是启动摄像头导致的发送数据异常?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: openMv 库 pyb.uart的问题

      谢谢了,问题已解决了。

      发布在 OpenMV Cam
      Y
      yqw6
    • openMv 库 pyb.uart的问题

      我使用该库和arduino通信,但是总是有数据丢失的情况,而且比较严重(基本发送2个完整数据,第三个数据就是不完整的)
      from pyb import UART
      uart = UART(3,115200)
      while True:
      uart.write("(1,2)(2,3)(3,1)")
      print("get response:",uart.read())
      怎么办,怎么才能提高传输准确度?是不是openMV板子的问题?

      发布在 OpenMV Cam
      Y
      yqw6
    • 自动登陆校园网:socketError: [ERRNO 107] ?

      按照示例WIFI中的 TCPclient 示例修改了以下,用来自动登陆校园网。以下是源码:
      源码:
      import socket

      host="ngw.bupt.edu.cn"
      port=80

      postData="POST /login HTTP/1.1\r\n"
      "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8\r\n"
      "Accept-Encoding: gzip, deflate\r\n"
      "Accept-Language: zh-CN,zh;q=0.9\r\n"
      "Cache-Control: max-age=0\r\n"
      "Connection: keep-alive\r\n"
      "Content-Length: 41\r\n"
      "Content-Type: application/x-www-form-urlencoded\r\n"
      "Cookie: Hm_lvt_41e71a1bb3180ffdb5c83f253d23d0c0=1531817431; __lnkrntdmcvrd=-1; SessionId=4df2839f394641e7\r\n"
      "Host: ngw.bupt.edu.cn\r\n"
      "Origin: http://ngw.bupt.edu.cn\r\n"
      "Referer: http://ngw.bupt.edu.cn/index\r\n"
      "Upgrade-Insecure-Requests: 1\r\n"
      "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36\r\n\r\n"
      "user=2016211970&pass=033654&line=CUC-BRAS"

      def loginToSchoolNet():
      try:
      client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      addr = socket.getaddrinfo(host,port)[0][-1]
      print("目标地址",addr)
      client.settimeout(100)
      client.connect((host,port))
      print("已连接到 ngw.bupt.edu.cn")

          client.send(postData)
          print("get response:",client.recv(1024))
          client.close()
          return 1
      except OSError as e:
          print("login socket error:",e)
          help(e)
          client.close()
          return -1
      

      运行时抛出异常:
      socket error: [Errno 107] ENOTCONN
      object [Errno 107] ENOTCONN is of type OSError

      emmmwhy....怎么肥西,运行示例的TCPclient没有问题的。。

      发布在 OpenMV Cam
      Y
      yqw6
    • 关于openMV函数 socket返回异常:-1 的问题

      我模仿示例代码做了一个TCP连接的py,该脚本实例化一个socket对象,然后调用该对象监听连接。运行时使用浏览器测试,结果经常被拒绝建立连接,在IDE的串口监视器中查看到输出:
      0_1540475633625_002.PNG

      下面是我的部分代码:
      while(True):
      # Create server socket
      s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
      try:
      # Bind and listen
      s.bind([HOST, PORT])
      s.listen(5)
      # Set server socket timeout
      # NOTE: Due to a WINC FW bug, the server socket must be closed and reopened if
      # the client disconnects. Use a timeout here to close and re-create the socket.
      s.settimeout(None)
      processHTTP(s)
      except OSError as e:
      s.close()
      print("socket error: ", e)
      #sys.print_exception(e)
      我查找了星瞳科技提供的函数库,没有找到-1异常的原因,请告诉我这个异常的原因,或者我可以在哪里找到相关资料?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: 请问openMV有办法实现文件读写吗?

      我误会了,,多谢。。

      发布在 OpenMV Cam
      Y
      yqw6
    • 请问openMV有办法实现文件读写吗?

      最近想要在openMV上跑一个webServer,可以处理http请求。然后需要读取诸如html一类的文件,可是代码实际运行时报错:0_1540390844768_001.PNG

      相关代码:
      file=open('index.html','r')
      index_content+=file.read()
      file.close()
      有没有办法实现呢?

      发布在 OpenMV Cam
      Y
      yqw6
    • RE: 如何用openmv搭配官方WiFi实现智能配信?

      @kidswong999 这样对用户也太不友好了。。最好是不涉及硬件操作,通过网络层实现。

      发布在 OpenMV Cam
      Y
      yqw6
    • 如何用openmv搭配官方WiFi实现智能配信?

      问题描述:
      现在有一个场景是openMv搭配WiFi,连接到万维网发送数据到一个已经写好的服务器上进行数据处理。但是WiFi版无法提前知道用户的wifi名称和密码,当用户第一次使用产品时,如何把自己的wifi信息告知WiFi版?

      想要得到的帮助:
      提供一种思路。用户第一次使用时如何实现和WiFi的通信(以便告诉WiFi版用户自己的wifi信息)。

      发布在 OpenMV Cam
      Y
      yqw6