HOpenCV-0.4.0.0: demo/cannyVideo.hs
module Main where
import AI.CV.OpenCV
import Control.Monad (when)
import Data.Maybe (isNothing)
showFrames :: String -> IplImage -> Capture -> IO ()
showFrames win target cap = do
let step 0 = return ()
step n = do
frame <- queryFrame cap
convertImage frame target 0
canny target target 30 190 3
showImage win target
k <- waitKey 5
putStr $ "\r" ++ show n ++ "\t\t frames before exiting...\r"
when (isNothing k) $ step (n - 1)
step 100
main :: IO ()
main = do
putStrLn "Running..."
let win = "win"
namedWindow win autoSize
cap <- createCameraCapture 0
frame <- queryFrame cap
size <- getSize frame
target <- createImage size iplDepth8u 1
showFrames win target cap