首页 > 其他分享 >opencv 矩形标记

opencv 矩形标记

时间:2022-11-26 11:13:10浏览次数:42  
标签:xend 标记 ## yend cv2 opencv ystart xstart 矩形

 

import cv2
from PIL import Image
import pytesseract
import pyautogui
import numpy as np
import time
#图片路径
img = cv2.imread('Images/CAD2.png')

xstart, ystart = 0, 0 #起始点x,y坐标
xend, yend = 0, 0#鼠标松开后 x,y坐标
px, py = 0, 0#移动时的x,y坐标

def on_EVENT_LBUTTONDOWN(event, x, y,flags, param):
    global xstart, ystart, px, py, xend, yend
    img2 = img.copy() #复制一个图片
    if event == cv2.EVENT_LBUTTONDOWN:  #鼠标点击时的操作
        xstart = x;
        ystart = y;
        cv2.imshow('image', img2)
    elif event == cv2.EVENT_MOUSEMOVE and (flags & cv2.EVENT_FLAG_LBUTTON): #鼠标移动时的操作
        px, py = x, y
        #在复制图片上进行鼠标移动时的画矩形框的操作
        cv2.rectangle(img2, (xstart, ystart), (x, y), (0, 0, 255), 2)
        cv2.imshow('image', img2)
    elif event==cv2.EVENT_LBUTTONUP: #鼠标抬起时的操作
        xend = x;
        yend = y;
        if (xstart != xend and ystart != yend):
            #矩形框
            cv2.rectangle(img, (xstart, ystart), (xend, yend), (0, 0, 255), 2)

            ## 矩形截图
            # t = time.time()
            # mst = int(round(t * 1000));# 生成毫秒时间戳 13位
            ## opencv区域截图标记参数
            ## xstart: 区块左上角位置的像素点离图片左边界的距离
            ## ystart:区块左上角位置的像素点离图片上边界的距离
            ## xend:区块右下角位置的像素点离图片左边界的距离
            ## yend:区块右下角位置的像素点离图片上边界的距离
            #cropped = img[ystart:yend, xstart:xend]
            #imgstr = "Screenshot_Image/" + str(mst) + ".png";  # 根据时间戳生成一个图片名称
            ## 保存截图
            #cv2.imwrite(imgstr, cropped)

            # 显示图片
            cv2.imshow('image', img)

cv2.namedWindow("image")
cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN)
cv2.imshow("image", img)
cv2.waitKey(0)

 

标签:xend,标记,##,yend,cv2,opencv,ystart,xstart,矩形
From: https://www.cnblogs.com/gzb1/p/16927078.html

相关文章

  • 高德地图JS API示例标记点 拿来即用
    使用最新高德JSAPI2.0先看效果在官方示例基础上做了些改动很多控件在初始化添加即可:如小窗口,指南针等,根据自己的需要加吧html代码<!doctypehtml><html><head>......
  • 阅读开源代码时:idea中如何使用todo标记、活动模板 (史上最全)
    接下来,尼恩要带大家完成一个超级牛逼的大厂offer收割机项目——100Wqps三级组件实操,实操中,用到caffeine并且,尼恩要带大家穿透式、起底式的学习caffeine的......
  • OpenCV之C++经典案例
    四个案例实战1、刀片缺陷检测2、自定义对象检测3、实时二维码检测4、图像分割与色彩提取1、刀片缺陷检测问题分析解决思路尝试二值图像分析模板匹配技术代......
  • abap: 一个 成本估算不能标记和发布问题的跟踪调试案例(对于 0 物料, 0 成本评估被成
    一个成本估算不能标记和发布的跟踪案例: 为了避免用户数据的干扰,我首先将料号20101115的估算全都册除了(事务:CKR1)然后重新做估算。确认估算保存无错。 然后再用CK2......
  • python+OpenCv 图像噪声(椒盐噪声、高斯噪声)
    由于图像采集、处理、传输等过程不可避免的会受到噪声的污染,妨碍人们对图像理解及分析处理。常见的图像噪声有高斯噪声、椒盐噪声等。一、椒盐噪声椒盐噪声也称为脉冲......
  • 2142. 最小矩形覆盖
    题目链接2142.最小矩形覆盖已知平面上不共线的一组点的坐标,求覆盖这组点的面积最小的矩形。输出矩形的面积和四个顶点的坐标。输入格式第一行包含一个整数\(n\),表示......
  • OpenCv4.6.0交叉编译ARM(aarch64)平台库
    1.下载交叉编译工具:gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu2.opencv官网下载opencv4.6.0源码,opencv官网下载opencv4-contrib-4.6.03.解压缩,并在源码包中新......
  • OpenCV-Python之像素运算
    1.算术运算:加减乘除importcv2ascvdefadd_img(m1,m2):dst=cv.add(m1,m2)cv.imshow("addimage",dst)defsubtract_img(m1,m2):dst=cv.subtract(m1,......
  • 百度地图添加大量标记点卡顿解决思路
    百度地图加载大量mark点的一种思路需求即能加载多个点,又能加载海量点,又能工具条件经常切换,在尝试了多种方式之后,用下面的方式满足了条件思路:先通过setTimeout分布加载......
  • Anaconda的 tensorflow(cpu) 与OpenCV安装教程
    安装Anaconda5.2+tensorflow1.9下载Anaconda5.2.0(64位或32位)https://www.anaconda.com/download/安装Anaconda5.2.0(一路确定即可)打开Anacondaprompt,然后执行piplist......