<s> print "<STR_LIT>" <EOL> import cv2 . cv as cv <EOL> import random <EOL> _MAX_POINTS = <NUM_LIT:100> <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> my_random = random . Random ( ) <EOL> image = cv . CreateImage ( ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:8> , <NUM_LIT:3> ) <EOL> cv . NamedWindow ( '<STR_LIT>' , cv . CV_WINDOW_AUTOSIZE ) <EOL> while True : <EOL> count = my_random . randrange ( <NUM_LIT:0> , _MAX_POINTS ) + <NUM_LIT:1> <EOL> points = [ ] <EOL> for i in range ( count ) : <EOL> points . append ( ( <EOL> my_random . randrange ( <NUM_LIT:0> , image . width / <NUM_LIT:2> ) + image . width / <NUM_LIT:4> , <EOL> my_random . randrange ( <NUM_LIT:0> , image . width / <NUM_LIT:2> ) + image . width / <NUM_LIT:4> <EOL> ) ) <EOL> storage = cv . CreateMemStorage ( <NUM_LIT:0> ) <EOL> hull = cv . ConvexHull2 ( points , storage , cv . CV_CLOCKWISE , <NUM_LIT:1> ) <EOL> cv . SetZero ( image ) <EOL> for i in range ( count ) : <EOL> cv . Circle ( image , points [ i ] , <NUM_LIT:2> , <EOL> ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:255> , <NUM_LIT:0> ) , <EOL> cv . CV_FILLED , cv . CV_AA , <NUM_LIT:0> ) <EOL> cv . PolyLine ( image , [ hull ] , <NUM_LIT:1> , cv . RGB ( <NUM_LIT:0> , <NUM_LIT:255> , <NUM_LIT:0> ) , <NUM_LIT:1> , cv . CV_AA ) <EOL> cv . ShowImage ( '<STR_LIT>' , image ) <EOL> k = cv . WaitKey ( <NUM_LIT:0> ) % <NUM_LIT> <EOL> if k == <NUM_LIT> : <EOL> break <EOL> cv . DestroyAllWindows ( ) </s>
