pyphon 使用setMouseCallback

 1 import cv2
 2 import numpy as np
 3 def fan() :  
 4     f=open("picture.txt","r")
 5     a = []
 6     b = []
 7     for eachline in f:
 8         eachline = eachline.strip()
 9         eachline = eachline.split("   ") 
10         for i in eachline:                
11             i = str(i)
12             b.append(i)
13             if len(b) == 4:
14                 a.append(b)
15                 b = []
16     
17     i_mg = cv2.imread("jiangnan.jpg")
18     i=0
19     for picture in a :
20         
21         x = int(picture[0])
22         y = int(picture[1])
23         w = int(picture[2])
24         h = int(picture[3])
25         i+=1
26         I_mg = i_mg[y:h,x:w]    
27         c = cv2.imwrite(str(i)+".jpg", I_mg)
28     return
29 #获取图像数据
30 def on_mouse(event ,x,y,flag,param):
31     global events
32     global img
33     
34     if events[event]=='CV_EVENT_LBUTTONDOWN':
35         print "(%d,%d):" % (y,x) 
36         print img[y,x,:]
37         c=str(y)
38         d=str(x)
39         
40         cv2.imshow("img", img)
41         l.write(c)
42         l.write("   ")
43         l.write(d)
44         l.write("   ")          
45      return
46 
47 l=open("picture.txt","w")
48 f=open("picture.txt","r")
49 img = cv2.imread("jiangnan.jpg")
50 
51 events = ['CV_EVENT_MOUSEMOVE', 'CV_EVENT_LBUTTONDOWN',
52           'CV_EVENT_RBUTTONDOWN','CV_EVENT_MBUTTONDOWN', 
53           'CV_EVENT_LBUTTONUP','CV_EVENT_RBUTTONUP',
54           'CV_EVENT_MBUTTONUP'  , 'CV_EVENT_LBUTTONDBLCLK',
55           'CV_EVENT_RBUTTONDBLCLK','CV_EVENT_MBUTTONDBLCLK']
56 
57 #def getdistance(co1,co2):
58 #return np.sqrt(sum((co1-co2)*(co1-co2)))
59 
60 cv2.namedWindow('img')
61 cv2.setMouseCallback('img',on_mouse,1)
62 cv2.imshow("img", img)
63 
64 cv2.waitKey(0)
65 l.close()
66 cv2.destroyAllWindows()
67 fan() 

 

转载于:https://www.cnblogs.com/heizaiaha/p/3520901.html

你可能感兴趣的:(pyphon 使用setMouseCallback)