技术标签: python 延时 如何用汇编语言编写三重循环的延时程序 树莓4派开机动画 for循环延时 python延时函数 c语言延时函数delay延时一秒
本期教大家将编写一个小脚本用树莓派来捕获多个图像,然后可以将这些图像组合成动画GIF,使用延时摄影功能,可以在几秒钟内查看非常慢的事情。
我们需要用到ImageMagick,这是一个用于图像处理的命令行程序。要安装ImageMagick,请在终端窗口中运行以下命令:
sudo apt-get update
sudo apt-get install imagemagick -y
使用树莓派的延时动画。延时摄影使用长时间拍摄的多个图像,然后将这些图像拼接在一起以产生动画的图像序列。如果以前从未见过延时,我给大家找到一张GIF图可以直观的看到。
使用拍照功能,需要脚本的支持,我们先编写一个脚本。
#/home/pi/timelapse.py
from picamera import PiCamera
camera = PiCamera()
camera.capture('/home/pi/Desktop/image.jpg')
保存代码,命令行运行,python /home/pi/timelapse
.py
就可看看桌面有一张名叫image.jpg的图片了。
保存代码,命令行运行,python /home/pi/timelapse
.py
就可看看桌面有一张名叫image.jpg的图片了。
拍摄多张图片
可以使用相机模块拍摄多个图像,方法是使用循环捕获图像。修改您的代码文件以包含for循环。在此示例中,Pi Camera将捕获10个图像:
from picamera import PiCamera
camera = PiCamera()
for i in range(10):
camera.capture('image.jpg')
再次保存脚本并运行(F5)程序。然后查看文件管理器,查看已创建的内容,如果你看到只有一张图片,这是拍摄的最后一张图片。这是因为每个图像具有相同的文件名,所以它被下一个拍摄的图像覆盖了。稍微修改脚本来解决问题:
from picamera import PiCamera
camera = PiCamera()
for i in range(10):
camera.capture('image{0:04d}.jpg'.format(i))
保存运行,这时再查看,就可以看到10张图片了。
制作GIF图
我们看看如何将之前拍摄的连续的图片转换为动画GIF。这时我们就需要ImageMagick。ImageMagick是一个命令行程序,可用于处理图像。首先,打开终端(Ctrl+Alt+t)并输入以下内容:
convert -delay 10 -loop 0 image*.jpg animation.gif
命令 -delay选项 设置帧之间的时间量(以百分之一秒为单位)。-loop选项设置GIF循环的次数。在这里0告诉它永远循环。需要一些时间来运行,等待完成,应该可以在文件管理器中看到 animation.gif 文件,双击它并在图像查看器中观看动画。这可能是一个相当大的文件。与所有命令行程序一样,可以在Python中调用ImageMagick。只需要使用os库,如下所示:
from picamera import PiCamera
from os import system
camera = PiCamera()
for i in range(10):
camera.capture('image{0:04d}.jpg'.format(i))
system('convert -delay 10 -loop 0 image*.jpg animation.gif')
print('done')
这里生成的文件将是非常大的文件,下面教大家如何压缩减小文件大小。重新打开之前的代码文件,我们做如下修改:
from picamera import PiCamera
from os import system
camera = PiCamera()
camera.resolution = (1024, 768)
for i in range(10):
camera.capture('image{0:04d}.jpg'.format(i))
system('convert -delay 10 -loop 0 image*.jpg animation.gif')
重新设置了图像的分辨率。
我们在添加延时,来拍摄间隔的照片。我们重新修改代码如下:
from picamera import PiCamera
from os import system
from time import sleep
camera = PiCamera()
camera.resolution = (1024, 768)
for i in range(10):
camera.capture('image{0:04d}.jpg'.format(i))
sleep(60)
system('convert -delay 10 -loop 0 image*.jpg animation.gif')
from picamera import PiCamera
from os import system
from time import sleep
camera = PiCamera()
camera.resolution = (1024, 768)
for i in range(10):
camera.capture('image{0:04d}.jpg'.format(i))
sleep(60)
system('convert -delay 10 -loop 0 image*.jpg animation.gif')
我们设置成每60秒拍摄一次照片,总共拍摄10张照片。现在可以将range()和sleep()函数的值修改为适合你自己的值。如果想捕捉一朵花的开放,那么一分钟或几分钟的图片就足够了。如果想拍下水果腐烂的图片则需要时间久一点。只需运行脚本,然后坐下来等待创建GIF。
关注一下,更多精彩,不容错过!
本文会想你详细介绍Oracle数据库的几种启动方式,其中包括startup nomount 、startup restrict是以约束的方式来启动Oracle数据库,如果你想对Oracle数据库的几种启动方式有更好的了解,你就可以点击以下的文章对其进行了解。有以下几种启动方式:1、startup nomount非安装启动,这种方式启动下可执行:重建控制文件、重建数据库读取init.ora文件,启动...
#include "reg52.h"#include "intrins.h"typedef unsigned int ui;typedef unsigned char uc;//#define led P2 //×¢Ò⣡£¡²»¼Ó";"//sbit beep=P1^5;sbit led=P2^0;sbit k1=P3^1;void delay(ui i){ while(i--);}void keypros(){ if(k1==0) { delay(1000);/.
Learning representations by back-propagating errors摘要0三级目录摘要我们描述了一种新的学习程序,即反向传播,用于神经元样单元的网络。 该过程反复调整网络中连接的权重,以便最小化对网络的实际输出矢量和所需输出矢量之间的差异的度量。 权重调整的结果是,内部的**“隐藏”单元**(它们不是输入或输出的一部分)开始代表任务域的重要特征,并且任务中的规律性通过这些单元之间的相互作用来捕获。 创建有用的新功能的能力将反向传播与早期更简单的方法(例如感知器收敛过
Python 中的字符串用 str 表示,通过字面意思也不难理解,就是一串字符,在 Python 数据类型 里面已经基本了解了。我们Python 图文安装教程文章最后的 hello world 演示,变量里的就是字符串。字符串 str在 Python 中单行字符串可以使用单引号、双引号来赋值,单引号跟双引号是一样的。而多行字符串,需要用三引号来赋值。代码如下,其中 s1 和 s2 代...
用于PCB的文件输出
在nginx中常用的有以下四种负载均衡的算法,分别是:round-robin、ip-hash、least-connected和weighted。当然在实际生产中或许使用最多的就是ip-hash了,一般会这样使用:upstreamh5{ip_hash;server192.168.100.104:9080;server192.168.100.105...
接触了这么长时间,还从没有去想过这是什么意思。现在清楚了。ECMAScript是核心,所有接口、语法是标准的,而实现却不一样。比如JavaScript就是其中一种对ECMA的实现。JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象;DOM 描述了处理网页内容的方法和接口;BOM 描述了与浏览器进行交互的方法和接口。ECMAScript、DOM 和
功能介绍:stm32单片机通过串口将温度数据在上位机软件中显示,上位机软件可以将温度数据保存在mysql数据库中,同时能对数据进行增前期准备:1、安装Visual Stdio 20132、安装MySQL数据库 安装教程3、下载、安装mysql odbc驱动,mysql-connector-odbc-8.0.28-win32.msi硬件准备:1、单片机,32、51都行2、温度传感器DS18B203、USB转TTL模块,保证能够实现串口通信4、ST-LINK下载器,用于下载32单片机程序
【Linux】CentOS7下安装JDK详细过程Linux上一般会安装Open JDK,关于OpenJDK和JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html下面开始安装步骤:--------------------------------------------------------------------------第一步------------------------------------------------------
摘要:The gridded surface temperature (ST) anomalies over Maitri for the period January 1979 - December 2005 were analyzed using continuous wavelet analysis. The early part of the study showed the influe...
今年上海网络赛的一道题目 , 跟 HDU 2295 如出一辙 , 就是距离的计算一个是欧几里得距离 , 一个是曼哈顿距离学完DLX感觉这题好水 ,就是一个裸的重复覆盖 注意下别溢出就行了#include #include #include #include #include #include using namespace s
原文:https://blog.csdn.net/bobozai86/article/details/80530428一、简介面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,即不合并,也不拆分,而是保留这些报...