首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VC++中使用OpenCV绘制直线、矩形、圆和文字

VC++中使用OpenCV绘制直线、矩形、圆和文字 在VC++中使用OpenCV绘制直线、矩形、圆和文字非常简单,分别使用OpenCV中的line、rectangle、circle、putText这四个函数即可...具体可以参考OpenCV官方文档:https://docs.opencv.org/4.x/index.html 下面的代码展示了在VC++中如何使用OpenCV绘制直线、矩形、圆和文字 #include...(0,0)和右下角(250,350)处绘制一个红色矩形,边界线条厚度为2 cv::rectangle(img, cv::Point(0, 0), cv::Point(250, 350), cv::Scalar...(0, 0, 255), 2); // 以(400,50)为中心,绘制半径为30的圆,颜色为青色(绿+蓝=青(Cyan)) cv::circle(img, cv::Point(400, 50), 30...官网 Python中使用Opencv-python库绘制直线、矩形、圆、文字

70200
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python中使用Opencv-python库绘制直线、矩形、圆、文本

    Python中使用Opencv-python库绘制直线、矩形、圆、文字 在Python中使用Opencv-python绘制直线、矩形、圆、文本非常简单,分别使用到line、rectangle、circle...库绘制直线、矩形、圆、文本的示例代码 python示例代码如下: import cv2 import numpy as np img = np.zeros((512, 512, 3), np.uint8...[0]), (0, 255, 0), 3) # 在图像左上角原点(0,0)到右下角画一条绿色的直线,线条厚度为3 cv2.rectangle(img, (0, 0), (250, 350), (0, 0..., 255), 2) # 在左上角顶点(0,0)和右下角(250,350)处绘制一个红色矩形,边界线条厚度为2 cv2.circle(img, (400, 50), 30, (255, 255, 0)..., 5) # 以(400,50)为中心,绘制半径为30的圆,颜色为青色(绿+蓝=青(Cyan)) cv2.putText(img, "OpenCV", (350, 300), cv2.FONT_HERSHEY_COMPLEX

    36300

    opencv(4.5.3)-python(四)--绘图

    翻译及二次校对:cvtutorials.com 目标 • 学习用OpenCV绘制不同的几何图形 • 你将学习这些函数:cv.line(), cv.circle(), cv.rectangle(), cv.ellipse...要画一个矩形,你需要矩形的左上角和右下角。...这一次我们将在图像的右上角画一个绿色的矩形。 cv.rectangle(img,(384,0),(510,128),(0,255,0),3) 绘制圆 要画一个圆,你需要它的中心坐标和半径。...• 字体类型(查看cv.putText()文档以了解支持的字体)。 • 字体比例(指定字体的大小) • 常规的东西,如颜色、厚度、lineType等。...正如你在以前的文章中所学习的那样,显示图像就可以看到它。 其他资源 • 椭圆函数中使用的角度不是我们平常所指的圆角。 练习 • 试着用OpenCV中的绘图函数来创建OpenCV的标志。

    89520

    【python-opencv】绘图(目标检测框及其置信度等)

    一些常见的参数,如下所示: img:您要绘制形状的图像 color:形状的颜色。对于BGR,将其作为元组传递,例如:(255,0,0)对于蓝色。对于灰度,只需传递标量值即可。 厚度:线或圆等的粗细。...默认厚度= 1 lineType:线的类型,是否为8连接线,抗锯齿线等。默认情况下,为8连接线。cv.LINE_AA给出了抗锯齿的线条,看起来非常适合曲线。 要绘制多边形,首先需要顶点的坐标。...cv.polylines()可用于绘制多条线。只需创建要绘制的所有线条的列表,然后将其传递给函数即可。所有线条将单独绘制。与为每条线调用cv.line相比,绘制一组线是一种更好,更快的方法。...综合例子: import numpy as np import cv2 as cv # 创建黑色的图像 img = np.zeros((512,512,3), np.uint8) # 绘制一条厚度为5...的蓝色对角线 cv.line(img,(0,0),(511,511),(255,0,0),5) # 绘制厚度为3的矩形框,传入左上角和右下角坐标 cv.rectangle(img,(384,0),(510,128

    1.8K10

    二.OpenCV和Numpy读取修改像素、几何图形绘制

    ---- 2.绘制矩形 在OpenCV中,绘制矩形通过cv2.rectangle()函数实现,该函数原型如下所示: img = rectangle(img, pt1, pt2, color[, thickness...[, lineType[, shift]]]) – img表示需要绘制的那幅图像 – pt1表示矩形的左上角位置坐标 – pt2表示矩形的右下角位置坐标 – color表示矩形的颜色 – thickness...表示边框的粗细 – lineType表示线条的类型 – shift表示点坐标中的小数位数 下面的代码是绘制一个矩形,通过np.zeros()创建一幅黑色图像,接着调用cv2.rectangle()绘制矩形...---- 3.绘制圆形 在OpenCV中,绘制矩形通过cv2.rectangle()函数实现,该函数原型如下所示: img = circle(img, center, radius, color[, thickness...表示圆轮廓的厚度;负厚度表示要绘制一个填充圆 – lineType表示圆的边界类型 – shift表示中心坐标和半径值中的小数位数 下面的代码是绘制一个圆形。

    2.4K20

    【从零学习OpenCV 4】绘制几何图形

    1 01 绘制圆形 圆形是我们在平时中最常使用的图形之一,OpenCV 4中提供了circle()函数用于绘制圆型,其函数的函数原型在代码清单3-40中给出。...与circle()函数一致,当边界线的厚度值为负数的时候,将绘制一个实心的椭圆。...1 04 绘制多边形 在几何中多边形也是一个重要的成员,而多边形中矩形又是一个比较特殊的类型,因此OpenCV 4中除了提供绘制多边形的函数fillPoly()外,也提供了绘制矩形的函数rectangle...在OpenCV 4中定义了两种函数原型,分别利用矩形对角线上的两个顶点的坐标或者利用左上角顶点坐标和矩形的长和宽唯一确定一个矩形。在绘制矩形时,同样可以控制边缘线的宽度绘制一个实心的矩形。...这里我们详细介绍Rect变量,该变量在OpenCV 4中表示矩形的含义,与Point、Vec3b等类型相同,都是在图像处理中常用的类型。

    1.4K30

    Python OpenCV findContours()函数与drawContours()函数用法

    大家好,又见面了,我是你们的朋友全栈君。 我用的Python3.6,OpenCV3.4。Python3.x与2.x语法不一样,OpenCV2.x与3.x也不一样。看之前得清楚自己用的啥。...对于轮廓来说可能还包含父子关系,也就是说一个轮廓里面可能还包含着其他轮廓(比如说房子的轮廓可以包含一个矩形的窗户,则房子为父,窗户为子,而窗户里可能有个人的头,这又是一种父子关系),这其中的层次结构可以通过对第二个参数设置来选择是否获取...2 和 2a 分别代表最外边矩形的外轮廓和内轮廓。在这里边轮廓 0, 1, 2 在外部或最外边。我们可以称他们为(组织结构)0 级,简单来说就是他们属于同一级。接下来轮廓 2a。...第三个参数是对轮廓(第二个参数)的索引,当需要绘制独立轮廓时很有用,若要全部绘制可设为-1。接下来的参数是轮廓的颜色和厚度。...还有在使用OpenCV查找轮廓时,为了更准确,需要进行二值化处理:阈值化处理或者进行Canny边缘检测。查找轮廓的函数会修改原始图片,当需要使用原始图片时得注意。

    3.1K30

    opencv(4.5.3)-python(十八)--轮廓线入门

    • 从OpenCV 3.2开始,findContours()不再修改源图像了。 • 在OpenCV中,寻找轮廓线就像从黑色背景中寻找白色物体。所以请记住,要找到的物体应该是白色的,背景应该是黑色的。...在那之前,代码样本中给它们的值对所有的图像都能正常工作。 如何绘制轮廓线? 为了绘制轮廓线,我们使用了cv.drawContours函数。它也可以用来绘制任何形状,只要你有它的边界点。...它的第一个参数是源图像,第二个参数是轮廓线,应该以Python列表的形式传递,第三个参数是轮廓线的索引(在绘制单个轮廓线时很有用。 要绘制所有轮廓线,传递-1),其余参数是颜色、厚度等。...轮廓线逼近法 这是cv.findContours函数的第三个参数。它实际上表示什么呢? 上面我们说过,轮廓线是具有相同灰度的形状的边界。它存储了一个形状的边界的(x,y)坐标。...下面是一个矩形的图片,演示了这个技术。只要在轮廓线数组中的所有坐标上画一个圆(用蓝色画)。

    66120

    基于OpenCV的特定区域提取

    现在,我们可以使用OpenCV函数“ findContours()”提取该图像中的轮廓,并仅选择具有以下属性的轮廓: 1. 几何形状是圆形或椭圆形 2....对于第一部分,我们将使用OpenCV的“ boundingRect()”检测每个轮廓的边界矩形,并检查纵横比(高宽比)是否接近1。 现在我们的任务已经完成,但还需要进行一些微调。...我们将使用OpenCV函数“ drawContours()”,将颜色用作白色(R,G,B = 255,2555,255),将厚度用作FILLED(-1)在黑色背景上绘制所有四个线段轮廓。...对于黑色背景,我们创建一个黑色画布,然后使用OpenCV函数“ bitwise_and()”以及先前获得的蒙版在其上进行绘制。 ?...对于白色背景,我们首先创建一个白色画布,然后通过使用OpenCV函数“ drawContours()”绘制轮廓为黑色(R,G,B = 0,0,0)且厚度为FILLED的轮廓,如下所示创建颜色反转的蒙版(

    2.9K30

    总结 | 基于OpenCV提取特定区域方法汇总

    我们在多次迭代中使用OpenCV函数“ dilate()”和“ erode()”来获得如下输出。 ? 使用OpenCV对边缘进行了一些增强 如我们看到的那样,边缘现在已经完成并且比以前光滑得多。...对于第一部分,我们将使用OpenCV的“ boundingRect()”检测每个轮廓的边界矩形,并检查纵横比(高宽比)是否接近1。 现在我们的任务已经完成,但还需要进行一些微调。...我们将使用OpenCV函数“ drawContours()”,将颜色用作白色(R,G,B = 255,2555,255),将厚度用作FILLED(-1)在黑色背景上绘制所有四个线段轮廓。...对于黑色背景,我们创建一个黑色画布,然后使用OpenCV函数“ bitwise_and()”以及先前获得的蒙版在其上进行绘制。 ?...在黑色背景上提取的ROI 对于白色背景,我们首先创建一个白色画布,然后通过使用OpenCV函数“ drawContours()”绘制轮廓为黑色(R,G,B = 0,0,0)且厚度为FILLED的轮廓,如下所示创建颜色反转的蒙版

    4.3K20

    就是这么霸道,使用OpenCV10行代码实现人脸检测

    虽然互联网上有很多关于 OpenCV 的 Haar Cascade 对象检测模块这方面的技术资料,但这篇文章的重点是通俗易懂地解释这些概念,希望这能帮助初学者以简单的方式理解 Python 的 OpenCV...文件中可用) 人脸检测流程: OpenCV 的 Haar Cascade 分类器采用滑动窗口方法。...对于minNeighbors = 0,所有的矩形都被检测为人脸。对于某些矩形,有很多重叠的矩形,这表明在多次迭代中这些矩形已被检测为正。我们设置阈值以提高算法的准确性。...minNeighbors = 0 当 minNeighbors = 2 时,大部分重叠矩形不再存在。但是,我们仍然有一些误报。...x , y — 矩形左上角的位置 ;w , h — 矩形的宽度和高度 我们现在用绿色 ( 0 , 255 , 0 )( BGR 颜色代码)绘制这些尺寸的矩形,边框厚度为 1。

    1K20

    OpenCV系列之轮廓入门 | 二十一

    从OpenCV 3.2开始,findContours()不再修改源图像。 在OpenCV中,找到轮廓就像从黑色背景中找到白色物体。因此请记住,要找到的对象应该是白色,背景应该是黑色。...要绘制所有轮廓,请传递-1),其余参数是颜色,厚度等等 在图像中绘制所有轮廓: cv.drawContours(img, contours, -1, (0,255,0), 3) 绘制单个轮廓,如第四个轮廓...但是在大多数情况下,以下方法会很有用: cnt = contours[4] cv.drawContours(img, [cnt], 0, (0,255,0), 3) 注意 最后两种方法相似,但是前进时,...您是否需要线上的所有点来代表该线?不,我们只需要该线的两个端点即可。这就是cv.CHAIN_APPROX_SIMPLE所做的。它删除所有冗余点并压缩轮廓,从而节省内存。 下面的矩形图像演示了此技术。...只需在轮廓数组中的所有坐标上绘制一个圆(以蓝色绘制)。

    73010

    60行代码加速20倍 NEON实现深度学习OD任务后处理绘框

    320,为了美观,此篇博文默认绘框边界(边框)的厚度为2,也就是占满2个pixel。...表示一次性处理16个数据流位宽,代码如下: // 绘制矩形的上下边界 for (uint16_t i = 0; i < w; i += 16) { // 计算当前行的起始地址...,不像一些厂家有专门处理竖直方向的寄存器或者额外的硬件加速模块,所以这一步只能老老实实一个pixel一个pixel的去涂,因此和OpenCV的处理方式没有太大差异,代码如下: // 绘制矩形的左右边界...位向量,用于绘制矩形的颜色 uint8x16_t neon_color_b = vdupq_n_u8(blue); uint8x16_t neon_color_g = vdupq_n_u8...(green); uint8x16_t neon_color_r = vdupq_n_u8(red); // 绘制矩形的上下边界 for (uint16_t i = 0; i

    17110

    山西:促进全省煤炭绿色开采

    地下开采煤层厚度分级一般分为: ①薄煤层,小于或等于1.3米; ②中厚煤层,1.3~3.5米; ③厚煤层,大于3.5米; ④特厚煤层,超过8米。...露天开采煤层厚度分级一般分为: ①薄煤层,小于或等于3.5米; ②中厚煤层,3.5~10米。 人工校正数据 系统前端提供模型编辑功能,允许用户修改模型,上传修改信息。...前端模型展示时,会自动加载三维网格数据和人工校正数据,呈现修正过的模型。 客户端 前端展示包含原始输入数据:钻孔信息和剖面信息。便于用户分析生成的三维网格数据是否合理。...三维模型和二维数据联动 用户点击三维模型时,页面自动连线对应的树形节点,便于用户快速查找信息。同理,用户点击二维树形节点时,页面自动连线对应的三维模型。...图扑 SDK 引擎内置支持贝塞尔曲线的绘制,求交点等各种几何操作。强大灵活的 3D 引擎可以让用户轻松实现三维模型的呈现编辑功能。

    92920

    Android CameraX NDK OpenCV(二)-- 实现Dnn人脸检测

    Dnn的人脸检测在《实践|OpenCV4.2使用DNN进行人脸检测二(视频篇)》文章中已经实现过,不过那个是在Windows平台下的,检测的方式基本就是按那个来的,这次是我们把其的部分代码移植了过来。...GIF动图 视频效果 划重点 从上面的效果很仔细的话可以看到,我们检测人脸到画上红色矩形框时偶尔会有延时的情况,这个在《Android JetPack组件CameraX使用及修改显示图像》中说过,我们在摄像机预览中上层加入了...VIEW,在VIEW中进行绘制的,其实如果不要想这个情况,可以像灰度图显示一样,把整张已经标记好的图片都传回来,然后DrawBitmap把原来的预览图盖住也可以。...,预览时自动就缩放至设备屏幕的宽高了,所以这里传入的参数为实际处理图片的宽和高,用于计算宽和度偏移的比例。...然后在OnDraw的函数中针对矩形的四个点进行比例的偏移。 03 调用相关代码 ? 程序启动时加入复制文件及初始化DNN模型文件的调用 ?

    1.8K40

    什么样的PCB能走100A的电流?

    那么问题就来了,怎么样的PCB才能承受住100A的电流? 要弄清楚PCB的过流能力,我们首先从PCB结构下手。 以双层PCB为例,这种电路板通常是三层式结构:铜皮、板材、铜皮。...横截面积可以看作铜皮的厚度,也就是PCB加工选项中的铜厚。 通常铜厚以OZ来表示,1OZ的铜厚换算过来就是35um,2OZ是70um,依此类推。...那么可以很轻易地得出结论:在PCB上要通过大电流时,布线就要又短又粗,同时PCB的铜厚越厚越好。 实际在工程上,对于布线的长度没有一个严格的标准。...以下两个表可以参考: 从表中可以大约知道1Oz铜厚的电路板,在10°温升时,100mil(2.5mm)宽度的导线能够通过4.5A的电流。...英飞凌就有一种PCB,采用3层铜层设计,顶层和底层是信号布线层,中间层是厚度为1.5mm的铜层,专门用于布置电源,这种PCB可以轻易做到小体积过流100A以上。

    72220
    领券