CV-0.3.1.2: examples/video.hs
{-#LANGUAGE ScopedTypeVariables#-}
module Main where
import CV.Image
import CV.Video
import Utils.Stream
main = do
print "finding capture"
Just cap <- captureFromCam (-1)
print "capture acquired"
let frameSize = getFrameSize cap
writer <- createVideoWriter "test.mpg" MPG4 24 frameSize False
imgs :: [Image RGB D32] <- runStream . sideEffect (\i -> writeFrame writer (unsafeImageTo8Bit i >> print "frame taken")
. takeS (6*6)
$ streamFromVideo cap
print (map getSize imgs)
saveImage "video.png" $ montage (length imgs,1) 2 (imgs)