C++ opencv实现几何图形绘制

目录
  • 1.矩形 rectangle()
  • 2. 圆 circle()
  • 3.椭圆 elliple()

在学习过程中,我们可以在图像中绘制一些几何图形,比如矩形,椭圆,线段,填充多边形等,这些函数都挺容易理解,下面简单看一下。

1.矩形 rectangle()

通过对角线上的两个顶点绘制矩形

void rectangle(InputOutputArray img, Rect rec,
		const Scalar& color, int thickness = 1,
		int lineType = LINE_8, int shift = 0);

img 名称
rec pt1矩形的顶点 pt2与pt1相对的矩形顶点
color 颜色  也可以用像素存放类Scalar
thickness 宽度 如果是-1,就代表对改矩形进行填充
lineType  类型
shift 移位点坐标中的小数位数。

代码:

int main()
{
	Mat img = Mat::ones(240, 240, CV_8UC3);
	rectangle(img, Rect(20, 20, 100, 100), Scalar(0, 0, 255),7);
	imshow("www", img);
	waitKey(0);
}

效果图:

2. 圆 circle()

void circle(InputOutputArray img, Point center, int radius,
		const Scalar& color, int thickness = 1,
		int lineType = LINE_8, int shift = 0);

img 名称
center 圆心坐标
radius 圆的半径
color 圆环颜色
thickness 正数,则表示圆轮廓的厚度 负数 对该圆填充颜色
lineType  类型
shift  移位中心坐标和半径值的小数位数。

代码:

int main()
{
	Mat img1=Mat::zeros(100, 100, CV_8UC3);
	circle(img1, Point(40, 40), 20, Scalar(0, 0, 255),-1);//-1 填充
	imshow("www", img1);
	waitKey(0);
}

效果图:

3.椭圆 elliple()

void ellipse(InputOutputArray img, Point center, Size axes,
		double angle, double startAngle, double endAngle,
		const Scalar& color, int thickness = 1,
		int lineType = LINE_8, int shift = 0);

img 名称
center 椭圆的中心。
axes 轴 椭圆主轴大小的一半。
angle	椭圆旋转角度。
startAngle	椭圆弧的起始角,以度表示。
endAngle	椭圆弧的结束角,以度数表示。
color	椭圆颜色。
thickness 正数 椭圆圆弧轮廓的厚度  负数 对椭圆进行填充。
linetype 椭圆边界类型。
shift 中心坐标和坐标轴值的小数位数。

代码:

int main()
{
	Mat img1 = Mat::zeros(300, 300, CV_8UC3);
	ellipse(img1, Point(100, 100), Size(40, 25), 0, 0, 360, Scalar(0, 0, 255),5);
	imshow("111", img1);
	waitKey(0);
}

效果图:

以上就是C++ opencv实现几何图形绘制的详细内容,更多关于C++ opencv绘制几何图形的资料请关注我们其它相关文章!

(0)

相关推荐

  • C++ OpenCV绘制几何图形

    本文实例为大家分享了C++ OpenCV绘制几何图形的具体代码,供大家参考,具体内容如下 绘制几何图形 直线 矩形 多边形 圆形 椭圆 文字 API 直线 CV_EXPORTS_W void line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0); 矩形 CV_EXPORTS_W void recta

  • C++ OpenCV学习之图像金字塔与图像融合详解

    目录 1金字塔 2什么是图像金字塔? 3图像金字塔有什么用? 4OpenCV实战图像金字塔 1 金字塔 平时你听到.见到的金字塔是什么样的? 这样? 还是这样? 实际上除了这些,还有图像金字塔   图像金字塔有什么用?为什么要称作图像金字塔?本文带你研究这些问题. 2 什么是图像金字塔? 正如生物视觉系统会处理分层次的尺寸一样,计算机视觉系统实现多分辨率图像处理的基础是图像金字塔. 考虑这样一个场景:输入系统一幅图像来检测人脸.由于事先并不知道人脸在这张图片中可能的尺寸,所以需要根据输入生成一个

  • 使用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

  • 使用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

  • opencv3/C++绘制几何图形实例

    在图像上绘制几何图形 #include<iostream> #include<opencv2/opencv.hpp> using namespace cv; Mat src1, dst; void drawRectangle(); void drawLine(); void drawEllipse(); void drawCircle(); void tsxt(); int main() { src1 = imread("E:/image/image/daibola.jp

  • C++ opencv实现几何图形绘制

    目录 1.矩形 rectangle() 2. 圆 circle() 3.椭圆 elliple() 在学习过程中,我们可以在图像中绘制一些几何图形,比如矩形,椭圆,线段,填充多边形等,这些函数都挺容易理解,下面简单看一下. 1.矩形 rectangle() 通过对角线上的两个顶点绘制矩形 void rectangle(InputOutputArray img, Rect rec, const Scalar& color, int thickness = 1, int lineType = LINE

  • 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 基本图形绘制函数详解

    用于绘制直线的line函数: 用于绘制椭圆的ellipse函数: 用于绘制矩形的rectangle函数: 用于绘制圆的circle函数: 用于绘制填充的多边形的fillPoly函数. #include <opencv2/core/core.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespac

  • OpenCV 轮廓周围绘制矩形框和圆形框的方法

    轮廓周围绘制介绍 没什么概念,就是给得出来的轮廓绘制周围图形,例如下图给左侧得出的轮廓去绘图得到右侧图像: 相关API 减少多边形轮廓点数:approxPolyDP 函数作用:基于RDP算法实现,目的是减少多边形轮廓点数 函数原型: //减少多边形轮廓点数 approxPolyDP( InputArray curve, // 一般是由图像的轮廓点组成的点集 Mat(vector) OutputArray approxCurve, // 表示输出的多边形点集 double epsilon, //

  • Python OpenCV绘制各类几何图形详解

    目录 一.绘制直线 二.绘制矩形 三.绘制圆形 四.绘制椭圆 五.绘制多边形 六.绘制文字 七.总结 一.绘制直线 在OpenCV中,绘制直线需要获取直线的起点和终点坐标,调用cv2.line()函数实现该功能.该函数原型如下所示: img = line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) – img表示需要绘制的那幅图像 – pt1表示线段第一个点的坐标 – pt2表示线段第二个点的坐标 – color表示线条颜色,需

  • python OpenCV学习笔记之绘制直方图的方法

    本篇文章主要介绍了python OpenCV学习笔记之绘制直方图的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 官方文档 – https://docs.opencv.org/3.4.0/d1/db7/tutorial_py_histogram_begins.html 直方图会让你对图像的强度分布有一个全面的认识.它是一个在x轴上带有像素值(从0到255,但不总是),在y轴上的图像中对应的像素数量的图. 这只是理解图像的另一种方式.通过观察图像的直方图,你可以直

  • Python OpenCV实现基本图形绘制

    1.导入模块 import cv2 as cv import numpy as np 2.OpenCV绘图大致步骤 OpenCV 图形绘制步骤 (1)先定义基础画布canvas = np.zeros((400,600,3),dtype=np.uint8)+255 (2)画布分界,(300,0)分别是宽.高cv.line(canvas,(300,0),(300,399),(0,0,0,),2) (3)在画布上绘制图形,如画圆cv.circle(canvas, (150, 300), 88, (0,

  • Python OpenCV学习之图形绘制总结

    目录 背景 一.画线 二.画矩形 三.画圆 四.画多边形 五.画文本 六.鼠标绘制 总结 背景 使用OpenCV进行图形绘制是一种必备的技能,在图像的任务中,不管是图像检测还是图像识别,我们都需要通过绘制图形和绘制文字对处理的结果进行说明,本篇就详细介绍下图形的绘制: 一.画线 line(图像,起始点,终点,颜色,线宽,线形):一般只需要前面四个参数即可: 代码案例: cv2.line(img, (20, 100), (20, 500), (0,0,255)) 画出了一条Y方向上的红色线段: 二

  • Java实现规则几何图形的绘制与周长面积计算详解

    目录 1.背景 2.开发工具 3.数据存储设计 4.项目功能设计 5.部分代码展示 6.项目结构 7.总结 1.背景 规则几何图形问题求解的程序是对根据输入规则几何图形的一些特定的参数来实现对规则几何图形的面积和周长求解,以及根据输入的参数对对他们进行绘制相应的图形. 在程序中通过规则几何的类型来输入相应的参数有程序得到相应的解和图形.这从而达到了对图形的计算便利计算和直观的求出图形,从而帮助计算人员拥有更高的计算效率. 关键字:Java,swing,规则几何图形,文件操作 2.开发工具 本程序

  • opencv绘制矩形和圆的实现

    目录 绘制图形 绘制矩形 绘制圆 绘制图形 利用opencv提供的绘制图形api可以轻松在图像上绘制各种图形,比如直线,矩形,圆,椭圆等图形. line(img,pt1,pt2,color,thickness,lineType,shift)画直线 img:在那个图像上画线 pt1,pt2:开始点,结束点,指定先的开始与结束的位置 color:颜色 thickness:线宽 lineType:线型,线型为-1,4,8,16,默认为8 shift:坐标缩放比例 rectangle()参数同上,画矩形

随机推荐