“RPi Camera 500M72C”的版本间的差异

来自丢石头百科
第81行: 第81行:
 
需要注意的是,预览框仅在直接连接屏幕时有效,而是使用VNC等软件远程连接树莓派桌面,则不会弹出该预览框
 
需要注意的是,预览框仅在直接连接屏幕时有效,而是使用VNC等软件远程连接树莓派桌面,则不会弹出该预览框
 
</pre>
 
</pre>
* 如果预览画面是上下颠倒的,则可以通过以下代码旋转180度
+
如果预览画面是上下颠倒的,则可以通过以下代码旋转180度
 
<pre>
 
<pre>
 
camera = PiCamera()
 
camera = PiCamera()
第88行: 第88行:
 
* 预览画面可旋转90度、180度、270度
 
* 预览画面可旋转90度、180度、270度
 
* 如果要重置画面,可将画面旋转0度
 
* 如果要重置画面,可将画面旋转0度
* 设置alpha值,使预览框具有透明效果
+
===== 设置预览框的透明度 =====
 
<pre>
 
<pre>
 
camera.start_preview(alpha=100)
 
camera.start_preview(alpha=100)
 
</pre>
 
</pre>
* alpha的值范围是0-255
+
alpha的值范围是0-255
 
==== 拍照 ====
 
==== 拍照 ====
 
* 在预览代码的中间插入camera.capture()命令
 
* 在预览代码的中间插入camera.capture()命令
第101行: 第101行:
 
camera.stop_preview()
 
camera.stop_preview()
 
</pre>
 
</pre>
* 请注意:必须要执行代码sleep(5),以便给摄像头的传感器留下一定时间调整亮度和白平衡
+
请注意:必须要执行代码sleep(5),以便给摄像头的传感器留下一定时间调整亮度和白平衡
 
==== 录像 ====
 
==== 录像 ====
 
移除 camera.captue(),并加入camera.start_recording()和camera.stop_recording()
 
移除 camera.captue(),并加入camera.start_recording()和camera.stop_recording()
第111行: 第111行:
 
camera.stop_preview()
 
camera.stop_preview()
 
</pre>
 
</pre>
* 以上代码执行后,将在桌面生成video.mp4的视频,长度为5秒
+
以上代码执行后,将在桌面生成video.mp4的视频,长度为5秒
  
 
==== 更多参数 ====
 
==== 更多参数 ====
第126行: 第126行:
 
camera.stop_preview()
 
camera.stop_preview()
 
</pre>
 
</pre>
* 请注意,相机的帧数需设置为15帧,以支持最大分辨率
+
* 请注意,相机的帧数需设置为≤15帧,以支持最大分辨率
 +
===== 给图片加文字 =====
 +
====== 添加文字 ======
 +
<pre>
 +
camera.start_preview()
 +
camera.annotate_text = "Hello world!"
 +
sleep(5)
 +
camera.capture('/home/pi/Desktop/text.jpg')
 +
camera.stop_preview()
 +
</pre>
 +
====== 文字大小 ======
 +
<pre>
 +
camera.annotate_text_size = 50
 +
</pre>
 +
annotate_text_size的取值范围为6-160,默认值32
 +
*
 +
====== 文字颜色 ======
 +
<pre>
 +
camera.start_preview()
 +
camera.annotate_background = Color('blue')
 +
camera.annotate_foreground = Color('yellow')
 +
camera.annotate_text = " Hello world "
 +
sleep(5)
 +
camera.stop_preview()
 +
</pre>
 +
===== 修改图片的参数 =====
 +
====== 亮度 ======
 +
<pre>
 +
camera.start_preview()
 +
camera.brightness = 70
 +
sleep(5)
 +
camera.capture('/home/pi/Desktop/bright.jpg')
 +
camera.stop_preview()
 +
</pre>
 +
brightness的取值范围为0-100,默认值50
 +
====== 对比度 ======
 +
<pre>
 +
camera.contrast = 50
 +
</pre>
 +
contrast的取值范围为0-100,默认值50
 +
====== 添加特效 ======
 +
* 可通过camera.image_effect,给图片添加特效
 +
特效值可以为以下值
 +
<pre>
 +
none(默认值)
 +
negative
 +
solarize
 +
sketch
 +
denoise
 +
emboss
 +
oilpaint
 +
hatch
 +
gpen
 +
pastel
 +
watercolor
 +
film
 +
blur
 +
saturation
 +
colorswap
 +
washedout
 +
posterise
 +
colorpoint
 +
colorbalance
 +
cartoon
 +
deinterlace1
 +
deinterlace2
 +
</pre>
 +
例如
 +
<pre>
 +
camera.start_preview()
 +
camera.image_effect = 'colorswap'
 +
sleep(5)
 +
camera.capture('/home/pi/Desktop/colorswap.jpg')
 +
camera.stop_preview()
 +
</pre>
 +
 
 +
 
 +
=====

2020年5月21日 (四) 19:44的版本

产品特性

  • 像素:500万
  • 调焦:手动
  • 视角: 60°
  • 接口:CSI

使用说明

连接树莓派

  • 找到树莓派主板上丝印标记为"CAMERA"的接口

Pi4-camera-port.png

  • 轻轻上拉黑色的扣子
  • 将摄像头的柔性排线插入插槽内,注意插到底,且扣子与排线没有引脚的一面贴合,排线有引脚的一面则紧贴白色的插座
  • 将扣子推回原位

Connect-camera.gif

Pi-camera-attached.jpg

配置树莓派以支持摄像头功能

  1. 打开树莓派电源
  2. 进入终端
  3. 输入以下命令,进入配置页:
sudo raspi-config
  1. 上下移动光标,选中"Interfacing Options",并回车

树莓派raspi-config.png

  1. 上下移动光标,选中"Camera",回车

树莓派-使能Camera.png

  1. 在弹出的"Would you like the camera inteface to enable?",左右移动光标,选中"yes",并回车
  2. 在弹出的"Would you like to reboot now?",左右移动光标,选中"yes",并回车,重启树莓派

终端命令控制摄像头

拍照

  • 进入终端,输入以下命令
raspistill -o Desktop/image.jpg

此命令将执行拍照,并在桌面生成"image.jpg"文件,可双击查看

  • 如需指定分辨率,可使用以下命令
raspistill -o Desktop/image-small.jpg -w 640 -h 480

录像

进入终端,输入以下命令

raspivid -o video.mp4 -t 5000

此命令将执行录像,并在当前的文件夹下生成"video.mp4"文件,时常为5000毫秒(5秒),可使用文件管理器查看

python代码控制摄像头

  • 可借助picamera库,使python支持摄像头的控制

预览

  • 打开python IDE,如Thonny Python IDE,或打开记事本

Thonny-app-menu.png

  • 新建名字为camera.py的python文件,并保存到桌面
  • 输入以下代码
from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
sleep(5)
camera.stop_preview()
  • 进入终端,执行
python3 Desktop/camera.py

桌面将弹出预览框,实时取景并预览

需要注意的是,预览框仅在直接连接屏幕时有效,而是使用VNC等软件远程连接树莓派桌面,则不会弹出该预览框

如果预览画面是上下颠倒的,则可以通过以下代码旋转180度

camera = PiCamera()
camera.rotation = 180
  • 预览画面可旋转90度、180度、270度
  • 如果要重置画面,可将画面旋转0度
设置预览框的透明度
camera.start_preview(alpha=100)

alpha的值范围是0-255

拍照

  • 在预览代码的中间插入camera.capture()命令
camera.start_preview()
sleep(5)
camera.capture('/home/pi/Desktop/image.jpg')
camera.stop_preview()

请注意:必须要执行代码sleep(5),以便给摄像头的传感器留下一定时间调整亮度和白平衡

录像

移除 camera.captue(),并加入camera.start_recording()和camera.stop_recording()

camera.start_preview()
camera.start_recording('/home/pi/Desktop/video.mp4')
sleep(5)
camera.stop_recording()
camera.stop_preview()

以上代码执行后,将在桌面生成video.mp4的视频,长度为5秒

更多参数

  • picamera可以给图片添加很多参数
设置分辨率
  • 默认情况下,图片的分辨率等于显示器的分辨率,但最大的图像尺寸不超过2592*1944像素,视频尺寸不超过1920*1080像素;图像和视频的最小尺寸则为64*64像素
  • 可使用以下代码设置图像的分辨率
camera.resolution = (2592, 1944)
camera.framerate = 15
camera.start_preview()
sleep(5)
camera.capture('/home/pi/Desktop/max.jpg')
camera.stop_preview()
  • 请注意,相机的帧数需设置为≤15帧,以支持最大分辨率
给图片加文字
添加文字
camera.start_preview()
camera.annotate_text = "Hello world!"
sleep(5)
camera.capture('/home/pi/Desktop/text.jpg')
camera.stop_preview()
文字大小
camera.annotate_text_size = 50

annotate_text_size的取值范围为6-160,默认值32

文字颜色
camera.start_preview()
camera.annotate_background = Color('blue')
camera.annotate_foreground = Color('yellow')
camera.annotate_text = " Hello world "
sleep(5)
camera.stop_preview()
修改图片的参数
亮度
camera.start_preview()
camera.brightness = 70
sleep(5)
camera.capture('/home/pi/Desktop/bright.jpg')
camera.stop_preview()

brightness的取值范围为0-100,默认值50

对比度
 camera.contrast = 50

contrast的取值范围为0-100,默认值50

添加特效
  • 可通过camera.image_effect,给图片添加特效

特效值可以为以下值

none(默认值)
negative
solarize
sketch
denoise
emboss
oilpaint
hatch
gpen
pastel
watercolor
film
blur
saturation
colorswap
washedout
posterise
colorpoint
colorbalance
cartoon
deinterlace1
deinterlace2

例如

camera.start_preview()
camera.image_effect = 'colorswap'
sleep(5)
camera.capture('/home/pi/Desktop/colorswap.jpg')
camera.stop_preview()


=