Raspberry Pi相机非常有趣。它可用于傻瓜照片,定格动画和计算机视觉项目。为了介绍如何将相机用作Bash脚本的一部分,我们将使用带有按钮的相机,该按钮将为图像选择一个随机滤镜。这些滤镜中的一些可以增强图像,有些可以将其更改为卡通,其他则可以产生艺术效果。
在The Pi Cast的最新一集中,我们使用Python创建了该项目的版本。在这里,您可以看到官方Raspberry Pi相机可能产生的所有图像效果。
Bash终端是我们的编程环境,它是介绍功能强大的脚本语言的好方法,该脚本语言通常被其他语言所忽视。
我们在该项目中使用了Raspberry Pi 4,但也可以使用运行最新Raspberry Pi OS的任何其他Raspberry Pi模型来创建该项目。
对于此项目,您将需要:
任何树莓派
任何Raspberry Pi摄像头模块(尽管没有USB网络摄像头)
最新的Raspberry Pi操作系统
面包板
2x公对母跳线
一个按钮
可通过GitHub仓库(https://github.com/lesp/LXF269-PiCamera-Bash/archive/master.zip)获得该项目的所有代码和高分辨率图像。
设置Raspberry Pi相机
树莓派相机
)
如果您已经熟悉如何设置Pi相机模块,则可以跳过。这些步骤将适用于所有Raspberry Pi相机模块(包括第三方模块)。
关闭Raspberry Pi的电源。
1.轻轻向上提起塑料锁,打开摄像头端口。
树莓派相机
2.插入带状连接器,使蓝色卡舌面向USB /以太网端口。
树莓派相机
3.合上连接器上的锁,并轻轻拉动它以确保其就位。
4.打开Raspberry Pi的电源,然后转到“首选项” >>“ Raspberry Pi配置”。
树莓派相机
5.单击“接口”选项卡中“摄像机”的“启用”按钮。
树莓派相机
(图片来源:汤姆的硬件)
6.单击确定,然后重新启动Pi。
7.打开终端,然后键入以下命令以快速拍照以测试相机。
$ raspistill -o test.jpg
经过五秒钟后,将拍摄图像并将其另存为test.jpg。在继续之前,使用文件管理器检查图像是否正确。
一个有时被称为“瞬时开关”的按钮将用于触发我们的项目。为此,我们需要通过面包板将按钮连接到Raspberry Pi的GPIO。
1.将按钮插入面包板,使支腿越过面包板的中央通道。
2.将公对母跳线的公端与面包板上按钮的左上腿放在同一列中。将另一端连接 到Raspberry Pi的3.3V引脚。这是离Micro SD卡插槽最近的插针。
3.以与以前相同的方式,将按钮的右上角连接到Raspberry Pi的GPIO 17(左列的六个引脚)。
为Raspberry Pi随机图像编写代码
编写Bash代码是在计算机上编写任务脚本的好方法。Bash是一种功能强大的脚本语言,可以自动执行许多任务。通过Raspberry Pi,我们还可以使用它与GPIO交互。
1.启动Geany(从菜单中)并创建一个名为random-art.sh的新文件,并记住经常保存。
2.输入第一行代码,这将告诉代码在哪里可以找到Bash解释器。
#!/bin/bash
3. 使用echo命令,我们将值写入两个文件。第一个使能GPIO 17,第二个将GPIO 17设置为输入,默认情况下该输入为关闭(0)。
4. 输入一个用于存储此项目中所有可能的图像效果的数组。总共有20种效果,每种效果在数组中都有自己的位置,这使我们的代码可以根据随机数选择特定的效果。