opencv绘制矩形和圆的实现
目录
- 绘制图形
- 绘制矩形
- 绘制圆
绘制图形
利用opencv提供的绘制图形api可以轻松在图像上绘制各种图形,比如直线,矩形,圆,椭圆等图形。
line(img,pt1,pt2,color,thickness,lineType,shift)画直线
- img:在那个图像上画线
- pt1,pt2:开始点,结束点,指定先的开始与结束的位置
- color:颜色
- thickness:线宽
- lineType:线型,线型为-1,4,8,16,默认为8
- shift:坐标缩放比例
rectangle()参数同上,画矩形
circle(img,center,radius,color[,thickness[,lineType[,shift]]])中括号内参数表示可选参数,画圆
ellipse(img,中心点,长宽的一半,角度,从哪个角度开始,从哪个角度结束,... )
绘制矩形
cv2.rectangle(img,(80,100),(380,380),(0,255,0),5)
完整学习代码
import cv2 import numpy as np img = np.zeros((480,640,3),np.uint8) cv2.rectangle(img,(80,100),(380,380),(0,255,0),5) cv2.imshow('draw',img) cv2.waitKey(0) cv2.destroyAllWindows()
效果展示
绘制圆
cv2.circle(img,(320,240),50,(0,0,255))
完整学习代码
import cv2 import numpy as np img = np.zeros((480,640,3),np.uint8) cv2.circle(img,(320,240),50,(0,0,255)) cv2.imshow('draw',img) cv2.waitKey(0) cv2.destroyAllWindows()
效果展示
到此这篇关于opencv绘制矩形和圆的实现的文章就介绍到这了,更多相关opencv绘制矩形和圆内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
使用c++实现OpenCV绘制圆端矩形
功能函数 // 绘制圆端矩形(药丸状,pill) void DrawPill(cv::Mat mask, const cv::RotatedRect &rotatedrect, const cv::Scalar &color, int thickness, int lineType) { cv::Mat canvas = cv::Mat::zeros(mask.size(), CV_8UC1); // 确定短边,短边绘制圆形 cv::RotatedRect rect = rotatedre
-
OpenCV 轮廓周围绘制矩形框和圆形框的方法
轮廓周围绘制介绍 没什么概念,就是给得出来的轮廓绘制周围图形,例如下图给左侧得出的轮廓去绘图得到右侧图像: 相关API 减少多边形轮廓点数:approxPolyDP 函数作用:基于RDP算法实现,目的是减少多边形轮廓点数 函数原型: //减少多边形轮廓点数 approxPolyDP( InputArray curve, // 一般是由图像的轮廓点组成的点集 Mat(vector) OutputArray approxCurve, // 表示输出的多边形点集 double epsilon, //
-
Opencv绘制最小外接矩形、最小外接圆
Opencv中求点集的最小外结矩使用方法minAreaRect,求点集的最小外接圆使用方法minEnclosingCircle. minAreaRect方法原型: RotatedRect minAreaRect( InputArray points ); 输入参数points是所要求最小外结矩的点集数组或向量: minEnclosingCircle方法原型: void minEnclosingCircle( InputArray points, CV_OUT Point2f& center, C
-
Opencv实现最小外接矩形和圆
本文实例为大家分享了Opencv实现最小外接矩形和圆的具体代码,供大家参考,具体内容如下 步骤:将一幅图像先转灰度,再canny边缘检测得到二值化边缘图像,再寻找轮廓,轮廓是由一系列点构成的,要想获得轮廓的最小外接矩形,首先需要得到轮廓的近似多边形,用道格拉斯-普克抽稀(DP)算法,道格拉斯-普克抽稀算法,是将曲线近似表示为一系列点,并减少点的数量的一种算法. 该算法实现抽稀的过程是: 1)对曲线的首末点虚连一条直线,求曲线上所有点与直线的距离,并找出最大距离值dmax,用dmax与事先给定的阈
-
OpenCV 圆与矩形识别的方法
最近一个项目用到了图像识别,之前从未接触过OpenCV,经过各种找教程,终于是搞懂了一些. 整个具体流程大概是获取图像-->图像二值化,灰度图(cvtColor)-->图像降噪(GaussianBlur)->轮廓识别(cvFindContours)-->形状判断. 大多数教程很专业,各种参数分析看不懂,经过各种搜索终于是搞懂了. 识别圆 在识别圆方面,OpenCV有内置的方法:霍夫圆变化: HoughCircles(edges, circles, CV_HOUGH_GRADIENT
-
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
最近学了下 python opencv,分享下使用 opencv 在图片上绘制常用图形的方法. 案例中实现了在图片中添加线段.圆形.矩形.椭圆形以及添加文字的方法,使用 opencv2 实现的. 实现方法 1)画线段 cv.line 在图片中绘制一段直线 # 绘制线段 # 参数1:图片 # 参数2:起点 # 参数3:终点 # 参数4:BGR颜色 # 参数5:宽度 cv2.line(img, (60, 40), (90, 90), (255, 255, 255), 2); 参数说明 参数 值 说明
-
OpenCV绘制圆角矩形的方法实例
功能函数 // 绘制圆角矩形 void DrawRotatedRectChamfer(cv::Mat mask,const cv::RotatedRect rotatedrect, float radius,const cv::Scalar &color, int thickness, int lineType) { // 创建画布 cv::Mat canvas = cv::Mat::zeros(mask.size(), CV_8UC1); cv::RotatedRect newrotatedr
-
opencv绘制矩形和圆的实现
目录 绘制图形 绘制矩形 绘制圆 绘制图形 利用opencv提供的绘制图形api可以轻松在图像上绘制各种图形,比如直线,矩形,圆,椭圆等图形. line(img,pt1,pt2,color,thickness,lineType,shift)画直线 img:在那个图像上画线 pt1,pt2:开始点,结束点,指定先的开始与结束的位置 color:颜色 thickness:线宽 lineType:线型,线型为-1,4,8,16,默认为8 shift:坐标缩放比例 rectangle()参数同上,画矩形
-
OpenCV绘制圆端矩形的示例代码
目录 功能函数 测试代码 测试效果 本文主要介绍了OpenCV绘制圆端矩形的示例代码,分享给大家,具体如下: 功能函数 // 绘制圆端矩形(药丸状,pill) void DrawPill(cv::Mat mask, const cv::RotatedRect &rotatedrect, const cv::Scalar &color, int thickness, int lineType) { cv::Mat canvas = cv::Mat::zeros(mask.size(), CV
-
OpenCV鼠标绘制矩形和截取矩形区域图像
本文实例为大家分享了OpenCV鼠标绘制截取矩形区域图像的具体代码,供大家参考,具体内容如下 在opencv中利用鼠标绘制矩形,代码如下: #include <cv.h> #include <highgui.h> #include <stdio.h> #pragma comment( lib, "cv.lib" ) #pragma comment( lib, "cxcore.lib" ) #pragma comment( lib,
-
使用c++实现OpenCV绘制图形旋转矩形
目录 功能函数 // 绘制旋转矩形 void DrawRotatedRect(cv::Mat mask,const cv::RotatedRect &rotatedrect,const cv::Scalar &color,int thickness, int lineType) { // 提取旋转矩形的四个角点 cv::Point2f ps[4]; rotatedrect.points(ps); // 构建轮廓线 std::vector<std::vector<cv::Poin
-
OpenCV轮廓检测之boundingRect绘制矩形边框
目录 函数原型 参数说明 测试代码 测试效果 补充 函数原型 cv::Rect boundingRect( InputArray array ); 参数说明 输入:InputArray类型的array,输入灰度图像或二维点集. 输出:Rect类型的矩形信息,包括矩形尺寸和位置. 测试代码 #include <iostream> #include <time.h> #include <opencv2/opencv.hpp> using namespace std; usi
随机推荐
- angularjs封装$http为factory的方法
- asp.net源程序编译为dll文件并调用的实现过程
- asp.net(c#)文件下载实现代码
- js电信网通双线自动选择技巧
- 详解微信小程序开发之城市选择器 城市切换
- android与asp.net服务端共享session的方法详解
- js下利用控制器载入对应脚本
- Python 操作MySQL详解及实例
- 使用vue与jquery实时监听用户输入状态的操作代码
- php你的验证码安全码?
- 浅谈Timer和TimerTask与线程的关系
- 基于jQuery通过jQuery.form.js插件使用ajax提交form表单
- Android软键盘遮挡的四种完美解决方案
- 小议Java中final关键字使用时的注意点
- 新手小心:c语言中强符号与弱符号的使用
- PHP的微信支付接口使用方法讲解
- PHP7扩展开发之hello word实现方法详解
- 易语言调用MS SQL SERVER数据库方法
- OpenCV Java实现人脸识别和裁剪功能
- vue组件实现弹出框点击显示隐藏效果