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()
相关推荐
Storynone1 分钟前
【Day23】LeetCode:455. 分发饼干,376. 摆动序列,53. 最大子序和
python·算法·leetcode
田里的水稻17 分钟前
ubuntu22.04_构建openclaw开发框架
运维·人工智能·python
萧曵 丶21 分钟前
LangChain Model IO 提示词模版(Python版)
开发语言·python·langchain
zhojiew31 分钟前
为agent实现渐进式Skills能力的思考和实践
linux·python·算法
huan1991101 小时前
Python使用PyMySQL操作MySQL完整指南
数据库·python·mysql
zyq99101_11 小时前
Python日期处理实战代码
python·算法·蓝桥杯
24kHT1 小时前
tensorboard——SummaryWriter
python
高洁011 小时前
数据可视化实战:用AI工具制作专业数据分析图表
人工智能·python·深度学习·信息可视化·transformer
夏星印2 小时前
argparse解析器参数详解
经验分享·笔记·python·学习·argparse
鬓戈3 小时前
SeaweedFS集群上文件遍历和删除
运维·python