国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用Python和攝像頭制作簡單的延時攝影

2019-11-14 17:19:31
字體:
來源:轉載
供稿:網友

“延時攝影(英語:Time-lapse photography)是以一種較低的幀率拍 下圖像或者視頻,然后用正常或者較快的速率播放畫面的攝影技術。在一段延時攝影視頻中,物體或者景物緩慢變化的過程被壓縮到一個較短的時間內,呈現出平時 用肉眼無法察覺的奇異精彩的景象。延時攝影可以認為是和高速攝影相反的一個過程。延時攝影通常應用在拍攝城市風光、自然風景、天文現象、生物演變等等題材上。”

--引自百度百科

種草

最近買東西得了個小贈品,是一種可以快速生長的小草,拿回來就種在了辦公桌上。今天發芽了,一時興起打算做個延時攝影,辦公室里正好有個非常老舊的640x480攝像頭,于是有了下面的這個延時攝影動圖(為了上傳壓縮了畫面大小):

實現

需要準備的:

1) 電腦

2) 攝像頭(如果電腦沒有的話),淘寶上好多20以下包郵

3) Python 2.7,因為需要使用opencv,所以用Python2

4) opencv的Python binding,去官網上下載,如果不想自己編譯,只要到/build/python/2.7/下面就可以找到32位和64位的cv2.pyd,把這個文件直接拷貝到/Python27/Lib/site-packages/即可

代碼如下:

 1 import cv2 2 import time 3  4 interval = 20   # seconds 5 num_frames = 500 6 out_fps = 24 7  8 capture = cv2.VideoCapture(0) 9 size =(int(capture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)),10        int(capture.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))11 video = cv2.VideoWriter("time_lapse.avi", cv2.cv.CV_FOURCC('I','4','2','0'), out_fps, size)12 13 # for low quality webcams, discard the starting unstable frames14 for i in xrange(42):15     capture.read()16 17 # capture frames to video18 for i in xrange(num_frames):19     _, frame = capture.read()20     video.write(frame)21 22     ## Optional, in case you need the frames for GIF or so23     filename = '{:4}.png'.format(i).replace(' ', '0')24     cv2.imwrite(filename, frame)25 26     print('Frame {} is captured.'.format(i))27     time.sleep(interval)28 29 video.release()30 capture.release()

既然是簡單的延時攝影,代碼也是非常簡單的。設定好拍攝間隔,總幀數和輸出的幀率,用VideoCapture獲取攝像頭的圖像,用VideoWriter寫入視頻,考慮到有些劣質攝像頭在初始化的時候不穩定(比如我用的這個老式攝像頭),在正式捕捉圖向前可以考慮略過初始的幾十幀,捕捉過程中也可以直接輸出圖片方便制作GIF或者其他用途。

最后再來一個鐵皮盒上水滴蒸發的全過程:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通化县| 吴忠市| 武宁县| 海林市| 平和县| 宁强县| 那坡县| 上饶市| 曲麻莱县| 永福县| 泸定县| 南华县| 滁州市| 郯城县| 周宁县| 崇阳县| 合肥市| 哈尔滨市| 镇赉县| 泸西县| 安宁市| 永康市| 承德县| 茶陵县| 石景山区| 区。| 武平县| 莫力| 辽源市| 锡林浩特市| 高碑店市| 巴林右旗| 石狮市| 铁岭县| 青海省| 朝阳市| 新昌县| 城口县| 安徽省| 长海县| 句容市|