Update to 2.0.0 tree from current Fremantle build
[opencv] / tests / swig_python / highgui / cvRetrieveFrame.py
1 #! /usr/bin/env python
2 """
3 This script will test highgui's cvRetrieveFrame function
4 """
5
6 # name of this test and it's requirements
7 TESTNAME = "cvRetrieveFrame"
8 REQUIRED = ["cvGrabFrame"]
9
10  
11 # needed for sys.exit(int) and .works file handling
12 import os
13 import sys
14 import works
15
16 # path to imagefiles we need
17 PREFIX=os.path.join(os.environ["srcdir"],"../../opencv_extra/testdata/python/videos/")
18
19 # check requirements and delete old flag file, if it exists
20 if not works.check_files(REQUIRED,TESTNAME):
21         sys.exit(77)
22
23 # import the necessary things for OpenCV
24 from highgui import *
25 from cv import *
26
27
28 # create a video reader using the tiny video 'uncompressed.avi'
29 video = cvCreateFileCapture(PREFIX+"uncompressed.avi")
30
31 # call cvGrabFrame to grab a frame from video
32 res=cvGrabFrame(video)
33
34 if res==0:
35         print "(ERROR) Couldn't call cvGrabFrame()"
36         sys.exit(1)
37 # call cvRetrieveFrame and check if returned image is valid
38 image = cvRetrieveFrame(video)
39
40 if image is None:
41         # returned image is not a correct IplImage (pointer),
42         # so return an error code
43         sys.exit(1)
44
45
46 # ATTENTION: We do not release the video reader or image.
47 # This is bad manners, but Python and OpenCV don't care...
48         
49 # create flag file for sollowing tests
50 works.set_file(TESTNAME)
51
52 # return 0 ('PASS')
53 sys.exit(0)