最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

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

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 14:40:03
文檔

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

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

種草

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

實現(xiàn)


需要準備的:

1) 電腦
2) 攝像頭(如果電腦沒有的話),淘寶上好多20以下包郵
3) Python 2.7,因為需要使用opencv,所以用Python2
4) opencv的Python binding,去官網(wǎng)上下載,如果不想自己編譯,只要到uildpython2.7下面就可以找到32位和64位的cv2.pyd,把這個文件直接拷貝到Python27Libsite-packages即可

代碼如下:

import cv2
import time

interval = 20 # seconds
num_frames = 500
out_fps = 24

capture = 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 frames
for i in xrange(42):
 capture.read()

# capture frames to video
for 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ù)和輸出的幀率,用VideoCapture獲取攝像頭的圖像,用VideoWriter寫入視頻,考慮到有些劣質攝像頭在初始化的時候不穩(wěn)定(比如我用的這個老式攝像頭),在正式捕捉圖向前可以考慮略過初始的幾十幀,捕捉過程中也可以直接輸出圖片方便制作GIF或者其他用途。

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

聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

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

Python中使用攝像頭實現(xiàn)簡單的延時攝影技術:延時攝影(英語:Time-lapse photography)是以一種較低的幀率拍 下圖像或者視頻,然后用正?;蛘咻^快的速率播放畫面的攝影技術。在一段延時攝影視頻中,物體或者景物緩慢變化的過程被壓縮到一個較短的時間內,呈現(xiàn)出平時 用肉眼無法察覺的奇異精彩的景象。延
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top