国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 常熟市| 客服| 乐平市| 会同县| 苍山县| 剑阁县| 龙井市| 静宁县| 莱西市| 道真| 阿巴嘎旗| 合川市| 江口县| 嘉峪关市| 栾城县| 乌审旗| 宁乡县| 天柱县| 临颍县| 长泰县| 道真| 康保县| 栖霞市| 丰原市| 于田县| 汝城县| 玛沁县| 榆树市| 涡阳县| 即墨市| 上蔡县| 逊克县| 四子王旗| 波密县| 宜阳县| 司法| 石景山区| 西充县| 祁门县| 金门县| 肇庆市|