예제 #1
0
def write_frame(client, frame, boundary='1337'):
    ret = cv.EncodeImage('.jpeg', cv.fromarray(frame))
    image_bytes = bytearray(np.asarray(ret))
    client.send("Content-type: image/jpeg\r\n")
    client.send("Content-Length: %d\r\n\r\n" % len(image_bytes))
    client.send(image_bytes)
    client.send("\r\n--" + boundary + "\r\n")
예제 #2
0
    def takePic(self, split):
        img = cv.QueryFrame(self.capture)
        jpgstring = cv.EncodeImage(".jpg", img).tostring()
        #        jpgstring = zlib.compress(jpgstring)

        jpglen = len(jpgstring)
        for i in range(split - 1):
            self.splittedStr[i] = jpgstring[jpglen / split * i:jpglen / split *
                                            (i + 1)]
        self.splittedStr[split - 1] = jpgstring[jpglen / split * (split - 1):]
        cv.WaitKey(30)

        self.frames.append(self.splittedStr)
    def do_tarfile_save(self, tf):
        """ Write images and calibration solution to a tarfile object """
        def taradd(name, buf):
            s = StringIO.StringIO(buf)
            ti = tarfile.TarInfo(name)
            ti.size = len(s.buf)
            ti.uname = 'calibrator'
            ti.mtime = int(time.time())
            tf.addfile(tarinfo=ti, fileobj=s)

        ims = [("left-%04d.png" % i, im) for i, (_, im) in enumerate(self.db)]
        for (name, im) in ims:
            taradd(name, cv.EncodeImage(".png", im).tostring())

        taradd('ost.txt', self.ost())
예제 #4
0
파일: pil.py 프로젝트: storyblok/thumbor
    def convert_tif_to_png(self, buffer):
        if not cv:
            msg = """[PILEngine] convert_tif_to_png failed: opencv not imported"""
            logger.error(msg)
            return buffer

        # can not use cv2 here, because ubuntu precise shipped with python-opencv 2.3 which has bug with imencode
        # requires 3rd parameter buf which could not be created in python. Could be replaced with these lines:
        # img = cv2.imdecode(numpy.fromstring(buffer, dtype='uint16'), -1)
        # buffer = cv2.imencode('.png', img)[1].tostring()
        mat_data = cv.CreateMatHeader(1, len(buffer), cv.CV_8UC1)
        cv.SetData(mat_data, buffer, len(buffer))
        img = cv.DecodeImage(mat_data, -1)
        buffer = cv.EncodeImage(".png", img).tostring()

        mime = self.get_mimetype(buffer)
        self.extension = EXTENSION.get(mime, '.jpg')
        return buffer
예제 #5
0
import cv2.cv as cv
import cv2
import socket

if _name_ == "_main_":
    udp =socket.socket(soclet.AF_INET,socket.SOCK_DGRAM)

    capture =cv.CaptureFromCAM(0)
    cv.NamedWindow("ClientCAM",1)
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,320)
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,240)
    
    while True:
        img =cv.QueryFrame(capture)
        jpgstring =cv.EncodeImage(".jpeg",img).tostring()
        cv.ShowImage("ClientCAM",img)
        udp.sendto(jpgstring,("198.168.0.140",#port#))
                              if cv.WaitKey(10) ==27:
                              break

                              cv.DestroyAllWindows()
                              udp.close()
        
        
    
예제 #6
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import cv2.cv as cv
import cv2
import socket

UBU_HOST_NAME = 'gaubutwo.local'#ラズパイUDP受信ホスト名
UBU_HOST_PORT = 4001            #ラズパイUDP受信ポート番号

if __name__ == "__main__":
    udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    #cv.NamedWindow("ClientCAM", 1)
    capture = cv.CaptureFromCAM(0)#キャプチャに使うカメラの選択
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,320)#キャプチャする画像のサイズ
    cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,240)
    while True:
        img = cv.QueryFrame(capture)#画像のキャプチャ
        jpgstring = cv.EncodeImage(".jpeg", img).tostring()#UDPで送る為に画像をstringに変換
        cv.ShowImage("ClientCAM", img)

        udp.sendto(jpgstring, (UBU_HOST_NAME, UBU_HOST_PORT))#画像の送信
        if cv.WaitKey(10) == 27:
            break #エスケープキー(だったけ・・・・?)にて終了
    cv.DestroyAllWindows()#事後処理
    udp.close()
예제 #7
0
 def _takeFrameUSB(self):
     frame = cv.QueryFrame(self.capture)
     jpgString = cv.EncodeImage(".jpg", frame).tostring()
     return jpgString
예제 #8
0
 def takeImage(self):
     img = cv.QueryFrame(self.capture)
     img = cv.EncodeImage(".jpg", img).tostring()
     return img
예제 #9
0
 def _photo_base64(self):
     from cv2 import cv
     import cv2
     import numpy
     img = cv.QueryFrame(self._camera)
     return base64.b64encode(cv.EncodeImage('.jpg', img).tostring())