树莓派摄像头 Camera 的使用 - 简书 (1)
2023-6-21
| 2023-6-21
0  |  0 分钟

树莓派摄像头 Camera 的使用

一、安装

1. 硬件安装

notion image

2. 打开 Raspberry Pi 配置工具开启 Camera

notion image
notion image

二、 如何通过命令行控制摄像头模块

现在您的相机模块已连接且软件已启用,请尝试使用命令行工具raspistill和raspivid。

1. 单击任务栏中的黑色监视器图标打开终端窗口:

notion image
打开终端

2. 键入以下命令以拍摄静态图片并将其保存到桌面:

notion image
raspistill 命令进入终端

3. 按Enter运行命令。

当命令运行时,您可以在拍摄静止图像之前看到相机预览打开五秒钟。

4. 在桌面上查找图片文件图标,然后双击文件图标以打开图片。

notion image
桌面上的图像
通过添加不同的选项,您可以设置raspistill命令所采用的图像的大小和外观。
  • 例如,添加hw更改图像的高度和宽度:
现在使用以下raspivid命令使用 Camera Module 录制视频:
要播放视频文件,请双击video.h264桌面上的文件图标以在 VLC Media Player 中将其打开。

三、如何使用 Python 代码控制相机模块

Python picamera库允许您控制相机模块并创建出色的项目。

1. 打开 Python 3 编辑器,例如 Thonny Python IDE

notion image
打开 Thonny

2. 打开一个新文件并将其另存为camera.py

注意: 永远不要将文件保存为picamera.py,这一点很重要。

3. 输入以下代码:

4.* 保存并运行您的程序。相机预览应显示五秒钟,然后再次关闭。

notion image
图像预览
注意:只有将显示器连接到 Raspberry Pi 时,相机预览才有效。如果您使用远程访问(例如 SSH 或 VNC),则不会 “看到相机预览”。

5. 如果您的预览是颠倒的,可以使用以下代码将其旋转 180 度:

您可以通过旋转图像90,180或270度。要重置图像,请设置rotation为0度。
最好使预览稍微透视,以便在预览打开时查看程序中是否出现错误。

6. 通过设置alpha级别使相机预览透视:

该alpha值可以是0和255之间的任何数字。

四、用 Python 代码拍摄静态图片

现在使用相机模块和 Python 拍摄一些静态照片。

1. 修改您的代码以添加 camera.capture() 一行:

注意:sleep 在拍摄图像之前至少需要两秒钟,这一点非常重要,因为这样可以让相机的传感器有时间感应光线。 运行代码。 您应该看到相机预览打开五秒钟,然后应该拍摄静止图像。拍照时,您可以看到预览会短暂调整到不同的分辨率。 您的新图像应保存到桌面。

2. 现在添加一个循环来连续拍摄五张照片:

变量 i 计算多少次循环运行后,从 0 到 4。因此,图像将保存为 image0.jpg,image1.jpg 等等。 再次运行代码并将摄像头模块固定到位。 相机应该每五秒拍一张照片。拍摄完第五张照片后,预览将关闭。 查看桌面以查找五张新图片。

五、使用 Python 代码录制视频

现在录制视频

1. 修改您的代码以删除 capture() 并改为添加 start_recording() 和 stop_recording()

您的代码现在应该如下所示:
运行代码。 您的 Raspberry Pi 应该打开预览,录制 5 秒的视频,然后关闭预览。

六、如何更改图像设置和添加图像效果

Python picamera软件提供了许多效果和配置来改变图像的外观。注意:某些设置仅影响预览而不影响捕获的图像,某些设置仅影响捕获的图像,而其他许多设置仅影响两者。

1. 设置图像分辨率

您可以更改resolution相机模块拍摄的图像。 默认情况下,图像分辨率设置为显示器的分辨率。静态照片的最大分辨率为 2592×1944,视频录制的最大分辨率为 1920×1080。
使用以下代码将resolution最大值设置为拍照。
注意:您还需要将帧速率设置15为启用此最大分辨率。
最低分辨率为 64×64。

2. 在图片中添加文字

您可以使用该命令向图像添加文本annotate_text。
运行此代码尝试:

3. 更改添加文本的外观

使用以下代码设置文本大小:
您可以将文本大小设置为之间的任何东西6来160。默认大小是32。 也可以更改文本颜色。
首先,添加Color到import程序顶部的行:
然后import在行下面修改你的其余代码,使它看起来像这样:

4. 更改预览的亮度

您可以更改预览显示的亮度。默认亮度为50,您可以将其设置为0和之间的任何值100。
运行以下代码试试这个:
以下循环调整亮度并添加文本以显示当前亮度级别:

5. 更改预览的对比度

与预览亮度类似,您可以更改预览的对比度。
运行以下代码试试这个:

6. 添加炫酷的图像效果

您可以使用它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
默认效果是none。
选择图像效果并尝试一下:
运行此代码以循环所有图像效果camera.IMAGE_EFFECTS:
notion image
效果

设置图像曝光模式

您可以使用camera.exposure_mode将曝光设置为特定模式。
曝光模式选项包括:
  • off
  • auto
  • night
  • nightpreview
  • backlight
  • spotlight
  • sports
  • snow
  • beach
  • verylong
  • fixedfps
  • antishake
  • fireworks
默认模式是auto
  • 选择曝光模式并试用:
    • 您可以camera.EXPOSURE_MODES像使用图像效果一样遍历所有曝光模式。

    7. 更改图像白平衡

    您可以使用camera.awb_mode将自动白平衡设置为预设模式。
    可用的自动白平衡模式为:
    • off
    • auto
    • sunlight
    • cloudy
    • shade
    • tungsten
    • fluorescent
    • incandescent
    • flash
    • horizon
    默认是auto。
    选择自动白平衡模式并尝试:
    您可以camera.AWB_MODES像使用图像效果一样循环所有自动白平衡模式。 本文由简悦 SimpRead 转码
    目录