from PIL import Image
from pylab import*defpoint(img_path):
Image.MAX_IMAGE_PIXELS =100000000000# im = array(Image.open('best_result.png'))
im = array(Image.open(img_path))
imshow(im)print('Please click 2 points')
x = ginput(2)# show()return x
if __name__ =='__main__':
x = point('cut_orchard2.png')print('you clicked:', x)
三、另一种取点的方法
注意方法二展示的图片是原比例的,对于大图不太方便,推荐上一种方法。
point1.py
import cv2
import numpy as np
img = cv2.imread('C:\\Users\\mimi\\Desktop\\1.jpg')
a =[]
b =[]defon_EVENT_LBUTTONDOWN(event, x, y, flags, param):if event == cv2.EVENT_LBUTTONDOWN:
xy ="%d,%d"%(x, y)
a.append(x)
b.append(y)
cv2.circle(img,(x, y),1,(255,0,0), thickness=-1)
cv2.putText(img, xy,(x, y), cv2.FONT_HERSHEY_PLAIN,1.0,(0,0,0), thickness=1)
cv2.imshow("image", img)
cv2.namedWindow("image")
cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN)
cv2.imshow("image", img)
cv2.waitKey(0)print(a[0], b[0])
img[b[0]:b[1], a[0]:a[1],:]=0# 注意是 行,列(y轴的,X轴)
cv2.imshow("image", img)
cv2.waitKey(0)print(a, b)