(Opencv07)绘制边框
(Opencv07)绘制边框
cv2.boundingRect(img) 这个函数可以获得一个图像的最小矩形边框一些信息
cv2.rectangle()可以画出该最小矩形边框
x, y ,w, h = cv2.boungingRect(img)
img : 需要是一个二值图像。
x,y : 可以包围这个img的最小矩形的左上角的坐标。
w,h: 可以包围这个img的最小矩形的长,宽。
img = cv2.rectangle(img.copy(), (x, y), (x+w, y+h),(0, 255, 0), 2)
img.copy() : 需要拷贝一份传入,不然原图像会变喔!
(x,y) : 需要绘制矩形的左上角的坐标。
(x+w, y+h) : 要绘制矩形的右下角点。
(0, 255, 0) : 线条颜色,BGR
2 : 线宽
示例图片


示例代码
import cv2
def cv_show(image, name):
cv2.imshow(name, image)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.imread('triangle.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 转换为二值图像
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 轮廓信息(列表),层级
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
cnt = contours[0]
# (bounding rectangle 边框) 水平位置,竖直位置,长,高
x, y, w, h = cv2.boundingRect(cnt)
print('x:{}, y:{}, w:{}, h:{}'.format(x, y, w, h))
img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv_show(img, 'img')
示例结果

(Opencv07)绘制边框的更多相关文章
- duilib绘制边框
在使用Duilib时,有时候需要绘制边框,绘制边框时候,上下左右都会有边框线:可在使用时,有时候不需要绘制四边(如果绘制四边,两个有边框的控制放在一起,就有一边会很粗),那该如何处理?,其实用法很简单 ...
- winform学习之----重新绘制边框方法延伸
方法1. Pen pen1 = new Pen(Color.FromArgb(233, 149, 87)); e.Graphics.DrawRectangle(pen1, new ...
- iOS UIView性能最优的设计圆角并且绘制边框颜色
//以给cell切圆角为例- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollection ...
- HTML5 Canvas绘制转盘抽奖
新项目:完整的Canvas转盘抽奖代码 https://github.com/givebest/GB-canvas-turntable 演示 http://blog.givebest.cn/GB-ca ...
- iOS开发小技巧 -- tableView-section圆角边框解决方案
[iOS开发]tableView-section圆角边框解决方案 tableView圆角边框解决方案 iOS 7之前,图下圆角边框很容易设置 iOS 7之后,tableviewcell的风格不再是圆角 ...
- Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备二)
接下来,我们继续分析UIlib.h文件中余下的文件,当然部分文件可能顺序错开分析,这样便于从简单到复杂的整个过程的里面,而避免一开始就出现各种不理解的地方. 1. UIManager.h:UI管理器, ...
- H5与CS3权威上.5 绘制图形(1)
1.canvas元素基础知识 (1)在页面上放置canvas元素,相当于在页面上放置一块"画布",可以用Javascript编写在其中进行绘画的脚本. (2)在页面中放置canva ...
- 当Table中td内容为空时,显示边框的办法
1. 在 table的css里面加: border-collapse:collapse;在 td 的css里面加: empty-cells:show; 2 .最简单的就是 在TD里写个 说明: ...
- 【CSS】使用边框和背景
1. 应用边框样式 先从控制边框样式的属性开始.简单边框有三个关键属性:border-width.border-style 和 border-color . <!DOCTYPE html> ...
随机推荐
- 【NX二次开发】NX内部函数,libugui.dll文件中的内部函数
本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: bool A ...
- 09:CBV与settings
CBV源码 # 切入点 url(r'^login/', views.Mylogin.as_view()) '''类名点名字还加括号 名字要么是绑定给类的方法 要么是无参函数''' 1.as_vie ...
- Zookeeper 分布式锁 (图解+秒懂+史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
- sql把一个字段中的特定字符替换成其他字符
将'0654879'替换成'0754879' UPDATE dbo.SG_Functionality SET FunctionalityCode=REPLACE(FunctionalityCode,' ...
- COURSES 赤裸裸的二分匹配大水题
COURSES 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include ...
- JS中的单例模式及单例模式原型类的实现
单例模式 单例模式的定义: 保证一个类只有一个实例,并提供一个访问它的全局访问点 通过一个简单的例子来了解单例模式的作用: class Div { constructor() { return doc ...
- 【转载】Nginx多服务绑定80端口及映射域名
多服务绑定80端口及映射域名 说明:业务需要配置的样例模板,如需深入了解,请查看官方文档 1.Nginx配置文件nginx.conf(可拆分多台机器部署) worker_processes 1; e ...
- 资源:Redis下载地址
Redis的下载路径 http://download.redis.io/releases/ 3.x(支持集群) 2.x不支持集群 (推荐使用3.0+版本) 副版本号为偶数时,表示是稳定 ...
- 面试:Spring面试知识点总结
Spring知识点总结 1. 简介一下Spring框架. 答:Spring框架是一个开源的容器性质的轻量级框架.主要有三大特点:容器.IOC(控制反转).AOP(面向切面编程). 2. Spring框 ...
- 1、springboot2新建web项目
1.添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...