相机拍图编码

如果要图像不失细节(jpeg是有损压缩)
最好是PNG格式(无损压缩)
这边介绍YUV

import time
import picamera

with picamera.PiCamera() as camera:
camera.resolution = (100,100)
camera.start_preview()
time.sleep(2)
camera.capture('image.data','yuv')

一般的YUV指的是YUV420的平面格式(相关资料请详见Google)

RGB格式生成的档案比YUV更大
大多数的情况下都是用RGB
要输出RGB格式,只需要指定capture()为rbg
camera.capture('image.data','rgb')

另外有一种Bayer的
Bayer是相机内部的原始资料
与上面YUV/RGB不同的是
无论相机的输出resolution 和size是多少
Bayer的数据总是全解析

Bayer一般是10bits来表示一个channel
与我们认知的8bits不同 ,多的2bit会移到第五个byte来存
像是下面这样
AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDAABBCCDD
只是第五byte是低位,所以可以不严谨的省略

一般来说
如果相机的sensor是OV的
其排列是BGGR
而SONY的IMX 其排列是RGGB
https://ithelp.ithome.com.tw/upload/images/20211002/20119806w3vlk10GTV.jpg


<<:  Day 30: DevOps完赛心得

>>:  每日挑战,从Javascript面试题目了解一些你可能忽略的概念 - Day17

Day20-部署篇(二)SSH 连线与 PHP、Composer、Nginx、MySQL 安装

大家好~ 今天来把我们 Server 环境处理好吧~ SSH 先将我们昨天下载的金钥修改一下权限。 ...

用 Line LIFF APP 实现信箱验证绑定功能(5) - 前後端认证功能

前几天完成了关於发送认证信的各种细节,但认证码发出去後,使用者还是需要回到系统认证才能绑定。先前有提...

[Day26] Business Logic Vulnerabilities - 商业逻辑漏洞

前言 前面介绍过很多各种各样的web application攻击手法,今天来介绍Business L...

Backtrader - 策略收益

以下内容皆参考 Backtrader 官网 昨天介绍了 backtrader 如何去执行一个策略,今...

Day9 React生命周期

React Component的生命周期,大致上可以分成产生、更新及结束三个阶段,每个阶段都有对应的...