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

首頁 > 編程 > Python > 正文

Python中使用攝像頭實(shí)現(xiàn)簡單的延時攝影技術(shù)

2019-11-25 17:54:25
字體:
供稿:網(wǎng)友

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

種草

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

實(shí)現(xiàn)


需要準(zhǔn)備的:

1) 電腦
2) 攝像頭(如果電腦沒有的話),淘寶上好多20以下包郵
3) Python 2.7,因?yàn)樾枰褂胦pencv,所以用Python2
4) opencv的Python binding,去官網(wǎng)上下載,如果不想自己編譯,只要到/build/python/2.7/下面就可以找到32位和64位的cv2.pyd,把這個文件直接拷貝到/Python27/Lib/site-packages/即可

代碼如下:

import cv2import timeinterval = 20  # secondsnum_frames = 500out_fps = 24capture = cv2.VideoCapture(0)size =(int(capture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)),    int(capture.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))video = cv2.VideoWriter("time_lapse.avi", cv2.cv.CV_FOURCC('I','4','2','0'), out_fps, size)# for low quality webcams, discard the starting unstable framesfor i in xrange(42):  capture.read()# capture frames to videofor i in xrange(num_frames):  _, frame = capture.read()  video.write(frame)  ## Optional, in case you need the frames for GIF or so  filename = '{:4}.png'.format(i).replace(' ', '0')  cv2.imwrite(filename, frame)  print('Frame {} is captured.'.format(i))  time.sleep(interval)video.release()capture.release()

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南充市| 利辛县| 宝兴县| 康平县| 济南市| 永安市| 两当县| 大关县| 忻城县| 蒙阴县| 乌海市| 五常市| 澎湖县| 泾川县| 资源县| 双城市| 鄢陵县| 东明县| 武功县| 莆田市| 墨江| 花莲县| 涿州市| 津市市| 玛多县| 泽普县| 临沧市| 饶平县| 耒阳市| 益阳市| 太仆寺旗| 东港市| 清徐县| 海门市| 涪陵区| 谢通门县| 桓台县| 仙游县| 曲周县| 绥阳县| 保德县|