opencv::绘制-基本几何
画线 cv::line(LINE_4\LINE_8\LINE_AA)
画椭圆 cv::ellipse
画矩形 cv::rectangle
画圆 cv::circle
画填充 cv::fillPoly
putText(bgImage, "Hello OpenCV 你好 ", Point(, ), CV_FONT_HERSHEY_COMPLEX, 1.0, Scalar(, , ), , );
void MyLines() {
    Point p1 = Point(, );
    Point p2;
    p2.x = ;
    p2.y = ;
    Scalar color = Scalar(, , );
    line(bgImage, p1, p2, color, , LINE_AA);
}
void MyRectangle() {
    Rect rect = Rect(, , , );
    Scalar color = Scalar(, , );
    rectangle(bgImage, rect, color, , LINE_8);
}
void MyEllipse() {
    Scalar color = Scalar(, , );
    ellipse(bgImage, Point(bgImage.cols / , bgImage.rows / ), Size(bgImage.cols / , bgImage.rows / ), , , , color, , LINE_8);
}
void MyCircle() {
    Scalar color = Scalar(, , );
    Point center = Point(bgImage.cols / , bgImage.rows / );
    circle(bgImage, center, , color, , );
}
void MyPolygon() {
    Point pts[][];
    pts[][] = Point(, );
    pts[][] = Point(, );
    pts[][] = Point(, );
    pts[][] = Point(, );
    pts[][] = Point(, );
    const Point* ppts[] = { pts[] };
    int npt[] = {  };
    Scalar color = Scalar(, , );
    fillPoly(bgImage, ppts, npt, , color, );
}
void RandomLineDemo() {
    RNG rng();
    Point pt1;
    Point pt2;
    Mat bg = Mat::zeros(bgImage.size(), bgImage.type());
    namedWindow("random line demo", CV_WINDOW_AUTOSIZE);
    for (int i = ; i < ; i++) {
        pt1.x = rng.uniform(, bgImage.cols);
        pt2.x = rng.uniform(, bgImage.cols);
        pt1.y = rng.uniform(, bgImage.rows);
        pt2.y = rng.uniform(, bgImage.rows);
        Scalar color = Scalar(rng.uniform(, ), rng.uniform(, ), rng.uniform(, ));
        if (waitKey() > ) {
            break;
        }
        line(bg, pt1, pt2, color, , );
        imshow("random line demo", bg);
    }
}
int drawRandomLines(Mat image) {
    RNG rng(0xffffff);
    Point pt1, pt2;
    for (int i = ; i < ; i++) {
        pt1.x = rng.uniform(, image.cols);
        pt2.x = rng.uniform(, image.cols);
        pt1.y = rng.uniform(, image.rows);
        pt2.y = rng.uniform(, image.rows);
        int r = rng.uniform(, );
        int g = rng.uniform(, );
        int b = rng.uniform(, );
        line(image, pt1, pt2, Scalar(b, g, r), , LINE_8);
        putText(image, "Open CV Core Tutorial", Point(image.cols /  - , image.rows / ),
            CV_FONT_HERSHEY_PLAIN, 2.0, Scalar(, , ), , LINE_8);
        imshow(WINTITLE, image);
        if (waitKey() >= )
        {
            return -;
        }
    }
    return ;
}
opencv::绘制-基本几何的更多相关文章
- OpenCV绘制检测结果
		
OpenCV绘制检测结果 opencv rtcp timestamp 一.介绍 由于在验证阶段,使用FPGA时我们的算法检测速度很慢,没法直接在主流上进行绘图,否则的话,主流就要等待算法很久才能 ...
 - 详解用OpenCV绘制各类几何图形
		
摘要:本文详细介绍了OpenCV绘制几何图形的方法,利用cv2.line().v2.circle().cv2.rectangle().cv2.ellipse().cv2.polylines().cv2 ...
 - OpenCV绘制图像中RGB三个通道的直方图
		
一开始是看<OpenCV计算机视觉编程攻略(第2版)>这本书学做直方图,但是书本里说直方图的部分只详细说了黑白图像(单通道)的直方图绘制方法,RGB图像的直方图只说了如何计算,没有说计算完 ...
 - [原][译][osgearth]关于Features & Symbology (特征与符号)(OE绘制矢量几何与特殊字符)讲解(OE官方文档翻译)
		
原文参考:http://docs.osgearth.org/en/latest/user/features.html 自己翻译的,本人英文水平有限,有问题看原链接,原文 20170802重置修改部分翻 ...
 - Opencv绘制最小外接矩形、最小外接圆
		
Opencv中求点集的最小外结矩使用方法minAreaRect,求点集的最小外接圆使用方法minEnclosingCircle. minAreaRect方法原型: RotatedRect minAre ...
 - OpenCV绘制朱利亚(Julia)集合图形
		
朱利亚集合是一个在复平面上形成分形的点的集合.以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名. 朱利亚集合可以由下式进行反复迭代得到: 对于固定的复数c,取某一z值(如z = z0) ...
 - 学习OpenCV——绘制彩色直方图(HSV2BGR)
		
#include <cv.h> #include <highgui.h> #include <iostream> using namespace std; int ...
 - CUDA+OpenCV 绘制朱利亚(Julia)集合图形
		
Julia集中的元素都是经过简单的迭代计算得到的,很适合用CUDA进行加速.对一个600*600的图像,需要进行360000次迭代计算,所以在CUDA中创建了600*600个线程块(block),每个 ...
 - OpenCV绘制直线,矩形和园
		
首先导入我们所需要的库: import numpy as np import cv2 import matplotlib.pyplot as plt 自定义显示图像的函数: def show(imag ...
 
随机推荐
- 24 (OC)* 加密
			
一 .MD5加密 MD5加密是最常用的加密方法之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码. MD5主要特点是 不可逆,相同数据的MD5值肯定一样,不同数据的MD5值不一样(也不是 ...
 - Centos 安装java
			
1.下载jdk:jdk-8u181-linux-x64.tar.gz,下载地址不用我说了把.. 2.新建java文件夹 mkdir /usr/java 3.将下载的包传到此文件夹中,然后解压 cd / ...
 - Actor 模型中的通信模式
			
在 Actor 模型中所有的 Actor 之间有且只有一种通信模式,那就是 tell 的方式,也就是 fire and forget 的方式.但是在实际的开发过程中工程师们逐渐总结出了一些常用的通信模 ...
 - JAVA 8 新特性Stream初体验
			
什么是 Stream? Stream(流)是一个来自数据源的元素队列并支持聚合操作 <strong元素队列< strong="">元素是特定类型的对象,形成一个队 ...
 - touch,stat
			
touch(选项)(参数) 一是可以用来创建空文件,二是用来改变文件的元属性-a:修改文件的访问时间为当前时间-m:修改文件的改变时间为当前时间-r:把文件的属性修改成和某些文件一样的时间-t:修改成 ...
 - VR应用评测 - Apollo 11 阿波罗11号
			
Apollo 11 VR http://store.steampowered.com/app/457860/Apollo_11_VR/ Steam VR 2016年发布 好评率 50% 基于美国航空航 ...
 - ThinkPHP5 清除runtime缓存文件
			
/** * 清除模版缓存 不删除cache目录 */ public function clear_sys_cache() { Cache::clear(); $this->success( '清 ...
 - 使用JavaScript·求数组的最大值和最小值
			
前言 在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最大值和最小值的一些方法. 法一:其实利用 ...
 - Django基础五之django模型层之关联管理器
			
class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: ForeignKey关系的“另一边”.像这样: 1 ...
 - SpringBoot返回JSON
			
目录 1.SpringBoot返回JSON简介 2.整合jackson-databind 3.整合Gson 4.整合fastjson 1.SpringBoot返回JSON简介 随着web开发前后端分离 ...