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()
相关推荐
pupudawang2 分钟前
Java进阶——IO 流
java·开发语言·python
旺旺仙贝呦6 分钟前
Java常用注解
java·开发语言·python
南 阳6 分钟前
Python从入门到精通day51
开发语言·python
我材不敲代码10 分钟前
OpenCV 实战——从手机轮廓到鲜花轮廓:图像边缘检测与轮廓近似全解析
人工智能·opencv·计算机视觉
Q一件事23 分钟前
结构方程相关
python·算法·机器学习
SunnyDays101135 分钟前
使用 Python 轻松操控 Excel 网格线:隐藏、显示与自定义颜色
开发语言·python·excel
BubbleCodes37 分钟前
使用Conda和pip创建Python环境
python·conda·pip
我不听你讲话44 分钟前
Nginx核心功能
linux·服务器·python
计算机徐师兄1 小时前
Python基于数字水印的图像版权保护系统(附源码,文档说明)
python·数字水印·图像版权保护系统·python图像版权保护系统·python数字水印图像版权·python数字水印·数字水印图像版权保护系统
小陳参上1 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python