opencv:图形绘制与填充(代码片段)

wbyixx wbyixx     2023-04-23     203

关键词:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)

    Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);

    // 相关绘制的API
    /* line 参数说明:
        1. 在哪个图像上绘制
        2. 起点
        3. 终点
        4. 颜色
        5. 线宽
        6. type:绘制模式,LINE_AA反锯齿,LINE_8就是8
        7. 水平位移,默认0,一般用不到
    */
    line(canvas, Point(0, 0), Point(200, 200), Scalar(0,0,255), 5, LINE_8);
    Rect rect(100, 100, 200, 200);
    rectangle(canvas, rect, Scalar(255, 0, 0), 4, LINE_8);
    circle(canvas, Point(256, 256), 100, Scalar(0, 255, 0), 1, 8);
    RotatedRect rrt;
    rrt.center = Point2f(256, 256);
    rrt.angle = 45; // 这里是角度
    rrt.size = Size(100, 200);
    ellipse(canvas, rrt, Scalar(0, 255, 255), 1, 8);

    //线宽如果为-1,则会变成填充模式

    namedWindow("canvas", WINDOW_AUTOSIZE);
    imshow("canvas", canvas);


    // 绘制随机形状
    Mat image = Mat::zeros(Size(512, 512), CV_8UC3);
    int x1 = 0, y1 = 0;
    int x2 = 0, y2 = 0;
    RNG rng(12345);
    while (true) 
        x1 = (int)rng.uniform(0, 512);
        x2 = (int)rng.uniform(0, 512);
        y1 = (int)rng.uniform(0, 512);
        y2 = (int)rng.uniform(0, 512);

        int w = abs(x2 - x1);
        int h = abs(y2 - y1);
        rect.x = x1;
        rect.y = y1;
        rect.width = w;
        rect.height = h;

        image = Scalar(0, 0, 0);
        Scalar color(rng.uniform(0, 256), rng.uniform(0, 256), rng.uniform(0, 256));

        rectangle(image, rect, color, 1, 8);
        //line(image, Point(x1, y1), Point(x2, y2), Scalar(rng.uniform(0, 256), rng.uniform(0, 256), rng.uniform(0, 256)), 1, 8);
        imshow("image", image);
        char c = waitKey(10);
        if (c == 27) 
            break;
        
    

    waitKey(0);
    destroyAllWindows();

    return 0;

opencv-python实战——opencv中绘制图形与文本(万字总结,️❤️建议收藏️❤️)(代码片段)

OpenCV-Python实战(3)——OpenCV中绘制图形与文本(万字总结,️📕建议收藏📕)0.前言1.OpenCV绘图基础2.OpenCV绘制图形2.1基本图形的绘制2.1.1直线2.1.2矩形2.1.3圆形2.2高级图形的绘制2.2.1剪裁线2.2.2箭头2.2.3... 查看详情

opencv-python实战(番外篇)——opencv中利用鼠标事件动态绘制图形(代码片段)

OpenCV-Python实战(番外篇)——OpenCV中利用鼠标事件动态绘制图形使用鼠标事件动态绘制动态绘制图形动态绘制图形和文本相关链接使用鼠标事件动态绘制我们已经在《OpenCV-Python实战(3)——OpenCV中绘制图形与文... 查看详情

opencv图像处理3绘制基本图形(代码片段)

...及中文文本7、鼠标绘制基本图形三、绘制基本图形利用OpenCV提供的绘制图形API,可以轻松的在图像上绘制各种图形,比如直线、矩形、圆和椭圆等。1、绘制直线line()用法:cv2.line(img,pt1,pt2,color,thickness,lineType,shift)参数... 查看详情

opencv004:空白图片生成与基本图形绘制(代码片段)

#https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_drawing_functions/py_drawing_functions.html#drawing-functions###############################################ImportModule####importnumpyasnpimportcv2#createablackusenumpy,sizeis:512*512img=np.zeros((512,512,3),np.uint8)#f... 查看详情

#opencv例程200篇214.绘制椭圆的参数详解(代码片段)

OpenCV例程200篇总目录【youcans的OpenCV例程200篇】214.绘制椭圆的参数详解OpenCV提供了绘图功能,可以在图像上绘制直线、矩形、圆、椭圆等各种几何图形。7.4绘制椭圆函数原型:函数cv.ellipse()用来在图像上绘制椭圆轮廓、填... 查看详情

opencv例程200篇214.绘制椭圆的参数详解(代码片段)

OpenCV例程200篇总目录【youcans的OpenCV例程200篇】214.绘制椭圆的参数详解OpenCV提供了绘图功能,可以在图像上绘制直线、矩形、圆、椭圆等各种几何图形。7.4绘制椭圆函数原型:函数cv.ellipse()用来在图像上绘制椭圆轮廓、填... 查看详情

android自定义view学习三---图形绘制(代码片段)

...定义View学习三内容来自:安卓自定义View进阶-Canvas之绘制图形PaintPaint相当于是画笔,某些方面与iOS绘制还是很相似的设置画笔样式,有三种模式STROKE//描边FILL//填充FILL_AND_STROKE//描边加填充Canvas之绘制图形Canvas的常用操作... 查看详情

opencv绘制形状与文字(代码片段)

...ont(10,8);cv::Scalar:Scalar:具有四个元素的模板类在opencv中广泛用于传递和读取图像中的像素值,如://定义RGB颜色值B代表蓝色,G为绿色,R为红色、有时还有个A表示透明度。Scalar(B,G,R);Scalar表示四个元素的... 查看详情

opencv-基本图形绘制(圆矩形椭圆)(代码片段)

circle函数原型voidcircle(InputOutputArrayimg,Pointcenter,intradius,constScalar&color,intthickness=1,intlineType=LINE_8,intshift=0);circle参数说明InputOutputArray类型的img,输入图像也是输出图像, 查看详情

25opencv入门轮廓查找与绘制——凸包(代码片段)

一简介1、凸包  凸包(ConvexHull)是一个计算机几何图形学中的概念,简单来说,给定二维平面点集,凸包就是能够将最外层的点连接起来构成的凸多边形,它能够包含点集中所有的点。物体的凸包检测场应用在物体识别、手势识别及... 查看详情

opencv基础---图形绘制(代码片段)

图形绘制OpenCV提供了直线,矩形,圆,椭圆的绘制函数,下面介绍用法直线绘制:line()函数原型: voidline(InputOutputArrayimg,Pointpt1,Pointpt2,constScalar&color,intthickness=1,intlineType=LINE_8,intshift=0);参数声明:InputOutputArrayimg:输出图像P... 查看详情

opencv基本图形绘制(代码片段)

#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>usingnamespacecv;#include<opencv2/imgproc/imgproc.hpp>#defineWINDOW_NAME1"【绘制图1】"//为窗口标题定义的宏#defineWINDOW_NAME2"【绘制图2】"//为窗口标题定义的宏#defineWINDOW_WIDTH600//定... 查看详情

python使用turtle库绘制椭圆图形(自定义旋转角度大小颜色以及填充)(代码片段)

文章目录一、使用说明二、代码三、使用说明一、使用说明确保电脑上安装了turtle库:pipinstall-ihttps://mirrors.aliyun.com/pypi/simpleturtle调用库:importturtleast二、代码代码如下:defellipse(x,y,theta,l,size=1,color='blac 查看详情

在r图形中,绘制字符(pch)16和19之间有什么不同?(代码片段)

除了提到“填充”与“坚实”之外,我找不到任何文档。library(graphics)plot.new()points(.48,.5,pch=19)points(.52,.5,pch=16)编辑:温斯顿张的解释回答我的问题非常彻底https://github.com/hadley/ggplot2/issues/1757#issuecomment-247804365答案来自哈德利的新... 查看详情

opencv实战——opencv与图像处理(代码片段)

OpenCV实战(1)——OpenCV与图像处理0.前言1.OpenCV基础1.1安装OpenCV1.2OpenCV主要模块1.3使用Qt进行OpenCV开发2.OpenCV图像处理基础2.1加载、显示和保存图像2.2OpenCV命名空间2.3cv::imread()函数详解2.4OpenCV应用程序的编译执行3.OpenCV鼠标... 查看详情

opencv中的绘图函数(代码片段)

   OpenCV可以用来绘制不同的集合图形,包括直线,矩形,圆,椭圆,多边形以及在图片上添加文字。用到的绘图函数包括 cv2.line(),cv2.circle(),cv2.rectangle(),cv2.putText()等等。这些绘图函数需要设置参数如:?img:你想要... 查看详情

opencv——基本图形的绘制(代码片段)

线段:line函数voidline(Mat&img,Pointpt1,Pointpt2,constScalar&color,intthickness=1,intlineType=8,intshift=0);img:要绘制线段的图像。pt1:线段的起点。pt2:线段的终点。color:线段的颜色,通过一个Scalar对象定义。thickness:线条的宽度,默认值为1。lin... 查看详情

详解用opencv绘制各类几何图形(代码片段)

...自华为云社区《[Python从零到壹]三十五.图像处理基础篇之OpenCV绘制各类几何图形》,作者:eastmount。一.绘制直线在OpenCV中,绘制直线需要获取直线的起点和终点坐标,调用cv2.line()函数实现该功能。该函数原型如... 查看详情