画矩形


import cv2
image = cv2.imread('1.jpg')
cv2.rectangle(image, (xmin, ymin), (xmax, ymax), (0, 0, 255), 2)
cv2.imwrite('2.jpg', image)

画圆点:

  point_size = 1point_color = (0, 0, 255)  # BGRthickness = 4  # 可以为 0 、4、8for point in points:x1,y1=pointcv2.circle(img, (int(x1),int(y1)), point_size, point_color, thickness)

外接矩形,最小外接矩形,cnt其实就是轮廓坐标:

import osimport cv2
import joblib
import numpy as npimage=cv2.imread("first.jpg")roi=np.array([[10,10],[100,20],[100,150],[20,80]])x, y, w, h = cv2.boundingRect(roi)
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)# 最小外接矩形框,有方向角
rect = cv2.minAreaRect(roi)
box = cv2.boxPoints(rect)
box = np.int0(box)
cv2.drawContours(image, [box], 0, (0, 0, 255), 2)

以下内容转自:

OpenCv-Python 最小外接圆、最小外接矩形、椭圆拟合、直线拟合_牧野的博客-CSDN博客

最小外接圆、最小外接矩形、椭圆拟合、直线拟合


#coding: utf-8
import cv2
import numpy as np
import imutilsim = cv2.imread('./5121.png')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)ret,thresh = cv2.threshold(imgray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)  # 大津阈值
contours = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)  #cv2.RETR_EXTERNAL 定义只检测外围轮廓cnts = contours[0] if imutils.is_cv2() else contours[1]  #用imutils来判断是opencv是2还是2+for cnt in cnts:# 外接矩形框,没有方向角x, y, w, h = cv2.boundingRect(cnt)cv2.rectangle(im, (x, y), (x + w, y + h), (0, 255, 0), 2)# 最小外接矩形框,有方向角rect = cv2.minAreaRect(cnt)box = cv2.cv.Boxpoints() if imutils.is_cv2()else cv2.boxPoints(rect)box = np.int0(box)cv2.drawContours(im, [box], 0, (0, 0, 255), 2)# 最小外接圆(x, y), radius = cv2.minEnclosingCircle(cnt)center = (int(x), int(y))radius = int(radius)cv2.circle(im, center, radius, (255, 0, 0), 2)# 椭圆拟合ellipse = cv2.fitEllipse(cnt)cv2.ellipse(im, ellipse, (255, 255, 0), 2)# 直线拟合rows, cols = im.shape[:2][vx, vy, x, y] = cv2.fitLine(cnt, cv2.DIST_L2, 0, 0.01, 0.01)lefty = int((-x * vy / vx) + y)righty = int(((cols - x) * vy / vx) + y)im = cv2.line(im, (cols - 1, righty), (0, lefty), (0, 255, 255), 2)cv2.imshow('a',im)
cv2.imwrite('./result.jpg',im)
cv2.waitKey(0)

python opencv 画矩形框 外接矩形相关推荐

  1. python+opencv获取最小外接矩形

    python+opencv获取最小外接矩形 环境 代码 效果 环境 python版本:3.8 opencv版本:4.3.0.36 代码 from PIL import Image from pylab ...

  2. opencv 获取最小外接矩形

    #include "iostream"; #include "opencv.hpp" using namespace std; using namespace ...

  3. openCV 画矩形框或填充矩形

    rectangle:画矩形 Draws a simple, thick, or filled up-right rectangle.画一个简单或填充的矩形 C++: void rectangle(Ma ...

  4. python车牌矫正_毕业设计 python opencv实现车牌识别 矩形矫正

    defimg_Transform(car_contours,oldimg,pic_width,pic_hight): car_imgs=[]for car_rect incar_contours:if ...

  5. python opencv最小外接矩形_Opencv绘制最小外接矩形、最小外接圆

    Opencv中求点集的最小外结矩使用方法minAreaRect,求点集的最小外接圆使用方法minEnclosingCircle. minAreaRect方法原型: RotatedRect minAre ...

  6. python 最小外接矩形笔记

    目录 opencv生成最小外接矩形: 最小外接矩形修正版: opencv生成最小外接矩形: cnt = np.array([[x1,y1],[x2,y2],[x3,y3],[x4,y4]]) # 必须 ...

  7. 如何用python画长方形_python opencv 画矩形跟老齐学Python之用Python计算

    一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指computer.不管什么,只要提到她,普遍都会想到她能够比较快地做加减乘除,甚至乘方开方等.乃至于,有的人在口语中区分不开计算机和计算器. 那 ...

  8. python opencv 识别角度_OpenCV入门之获取图像的旋转角度

    在我们的日常生活中,所碰到的图像往往都有一定的倾斜.那么,如何用OpenCV来获取图像的旋转角度呢? 我们以下面的图片为例,简单介绍如何用OpenCV来获取图像的旋转角度. 可以看到,该图像存在着许多 ...

  9. opencv(Python/c++):画矩形框(普通的与旋转的矩形框)

    后续参考: 利用OpenCV提取图像中的矩形区域(PPT屏幕等):后续凸包什么的可以参考这个. https://segmentfault.com/a/1190000013925648 我们常常需要用矩 ...

最新文章

  1. C语言------运算符和表达式
  2. 改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本
  3. Windows Azure Platform Introduction (9) 申请Windows Azure 账户
  4. 网易云信亮相LiveVideoStackCon2020,分享RTC中AI音频算法产品化经验
  5. mysql读取求和_MySQL从单独的表中获取求和值
  6. 大数据实训报告_2019公路货运大数据报告发布:运输结构持续优化 大数据优势愈发明显...
  7. 内温的整体优先效应实验_陕西师范大学《普通心理学》第四章-知觉
  8. P1527 [国家集训队]矩阵乘法 整体二分 + 二维树状数组
  9. Java学习之IDEA2020安装
  10. druid链接mysql-proxy_MySQL读写分离之mysql-proxy
  11. mac安装绿联USB转以太网驱动
  12. linux tracker服务器搭建,linux 下 BT Tracker服务器搭建
  13. word页面顺序倒过来_WORD2010双面打印出来的是倒过来的,不是按顺序的怎么设置...
  14. DDWRT 下设置OPEN×××
  15. 聚簇索引与非聚簇索引
  16. API调用,淘宝天猫、1688、京东、拼多多商品页面APP端原数据获取
  17. 2设置使用 Yocto 项目
  18. Tesseract:识别知乎网站登录验证码
  19. 今日学习 2022年11月14日
  20. android蓝牙实验,Experiment6蓝牙Android开发实验指导书.doc

热门文章

  1. CentOS文件浏览器设置
  2. Linux rm 命令
  3. umdh windbg分析内存泄露
  4. 查看临界区等待线程数量
  5. 国际化困境(第一篇)
  6. C++程序崩溃生成dump
  7. 拷贝构造函数的参数类型必须是引用
  8. 如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)
  9. Linux C编程--进程介绍7--综合应用实例
  10. [科普]浅入浅出Liunx Shellcode