아마존에서 2000엔에 판매되는 JPEG 카메라의 동작 확인
자세한 내용은 제조업체사이트 축소판 그림를 참조하십시오.
UART에서 명령 교환을 통해 사진 데이터를 얻을 수 있을 것 같습니다.
촬영 가능한 이미지
640x480
320x240
160x120
획득 시간
영상이 소요된 시간의 측정 결과를 얻는 것은 이런 느낌이다.
이미지 크기
타임
파일 크기
640x480
10.0초
60KB
320x240
3.42초
18KB
160x120
1.21초
6.8KB
전송 속도는 기본(최대)인 1152200bps이기 때문에 640x480의 이미지 크기를 제외하면 4.2초 정도의 각오가 필요하다. 그러나 JPEG이기 때문에 압축이 필요한 이미지에서는 파일 크기가 더 작고 얻는 시간도 짧아진다.
다음
고무+고무 카메라로 가볍게 사진을 찍을 수 있기 때문에 파이썬 사용 환경에서 일부러 이 카메라를 사용하는 것은 불가능하다.
동작 확인용 코드
UART는 Pyserial의 Python을 통해 쉽게 접근할 수 있으니 이런 느낌의 코드를 눌러주세요.
camera_reader.py
import sys
import time
import serial
class CameraReader:
def __init__(self, dev):
#self.ser = serial.Serial(dev, timeout=1, baudrate=115200)
self.ser = serial.Serial(dev, timeout=1, baudrate=115200)
def snapshot(self, mode):
if mode < 1:
mode = 1
elif mode > 3:
mode = 3
d = bytes([0x55, 0x48, 0x00, 0x30+mode, 0x00, 0x02, 0x23])
self.ser.write(d)
s = self.ser.read(4)
s = self.ser.read(10)
data_length = (s[6] << 24) + (s[5] << 16) + (s[4] << 8) + s[3]
packages = (s[8] << 8) + s[7]
return data_length, packages
def read_image(self, data_length, packages):
d = b''
for i in range(packages):
cmd = bytes([0x55, 0x45, 0x00, ((i+1) & 0xFF), ((i+1) >> 8) & 0xFF, 0x23])
self.ser.write(cmd)
s = self.ser.read(4) # ack
self.ser.read(3) # 'UF<ID>'
self.ser.read(2) # package id
s = self.ser.read(2) # len
len = (s[1] << 8) + s[0]
s = self.ser.read(len)
d += s
s = self.ser.read(2) # crc
return d
def close(self):
self.ser.close()
if __name__ == '__main__':
args = sys.argv
if len(args) < 3:
print("usage: {0} device output".format(args[0]))
exit(0)
mode = 3
if len(args) > 3:
mode = int(args[3])
reader = CameraReader(args[1])
start = time.time()
a,b = reader.snapshot(mode)
d = reader.read_image(a,b)
elapsed_time = time.time() - start
with open(args[2], "wb") as fout:
fout.write(d)
print ("elapsed_time:{0}".format(elapsed_time) + "[sec]")
Reference
이 문제에 관하여(아마존에서 2000엔에 판매되는 JPEG 카메라의 동작 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/miyox/items/d440dc08d02558e8584f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)