python使用鼠标在图片上画框

  • python rect.py 图片文件夹
  • 先左击左上角,再右击右下角,画出一个框
  • 结果保存在res文件夹
  • rect.py
python 复制代码
import cv2, sys, os

path=sys.argv[1]
im=cv2.imread(path)
al=os.listdir(path)
al.sort()
if not os.path.exists('res'): os.makedirs('res')


def getInfo(event, x,y,flags,param):
  global xy
  if event == cv2.EVENT_LBUTTONDOWN:
    print x,y 
    xy=[]
    xy.append(x)
    xy.append(y)
  if event == cv2.EVENT_RBUTTONDOWN:
    if len(xy)!=2: 
    	print(len(xy))
    	return
    print x,y
    x1=xy[0]
    y1=xy[1]
    cv2.rectangle(param[0], (x1,y1), (x,y), (0,255,255), 2)
    cv2.imshow('image', param[0])
    cv2.waitKey(1)
    cv2.imwrite('res/'+param[1], param[0])
    xy=[]
    
for a in al:
	if a[-3:] != 'jpg': continue
	im=cv2.imread(path+'/'+a)
	cv2.namedWindow('image', 0)    
	cv2.resizeWindow('image', 1280, 720)
	cv2.imshow('image',im)
	cv2.setMouseCallback("image",getInfo, (im,a))
	cv2.waitKey(0)
	cv2.destroyAllWindows()
相关推荐
华科大胡子10 分钟前
用IDM抓取网页动态资源
python
maxmaxma29 分钟前
ROS2机器人少年创客营:Python第三课
开发语言·python·机器人·ros2
Derrick__131 分钟前
Android混淆和加密技术
android·jvm·python
gzroy1 小时前
Dify插件开发--Markdown+Mermaid转Docx
python·dify插件
Dxy12393102161 小时前
Python如何使用正则判断是否是姓名
数据库·python·mysql
♪-Interpretation1 小时前
第七节:Python的内置容器
开发语言·python
天若有情6731 小时前
Python精神折磨系列(完整11集·无断层版)
数据库·python·算法
周末也要写八哥2 小时前
返回函数(闭包):让return更“高阶
python
疯狂打码的少年2 小时前
【Day02 Java转Python】Python的ArrayList: list与tuple的“双面人生
java·python·list