画线   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::绘制-基本几何的更多相关文章

  1. OpenCV绘制检测结果

    OpenCV绘制检测结果 opencv  rtcp  timestamp  一.介绍 由于在验证阶段,使用FPGA时我们的算法检测速度很慢,没法直接在主流上进行绘图,否则的话,主流就要等待算法很久才能 ...

  2. 详解用OpenCV绘制各类几何图形

    摘要:本文详细介绍了OpenCV绘制几何图形的方法,利用cv2.line().v2.circle().cv2.rectangle().cv2.ellipse().cv2.polylines().cv2 ...

  3. OpenCV绘制图像中RGB三个通道的直方图

    一开始是看<OpenCV计算机视觉编程攻略(第2版)>这本书学做直方图,但是书本里说直方图的部分只详细说了黑白图像(单通道)的直方图绘制方法,RGB图像的直方图只说了如何计算,没有说计算完 ...

  4. [原][译][osgearth]关于Features & Symbology (特征与符号)(OE绘制矢量几何与特殊字符)讲解(OE官方文档翻译)

    原文参考:http://docs.osgearth.org/en/latest/user/features.html 自己翻译的,本人英文水平有限,有问题看原链接,原文 20170802重置修改部分翻 ...

  5. Opencv绘制最小外接矩形、最小外接圆

    Opencv中求点集的最小外结矩使用方法minAreaRect,求点集的最小外接圆使用方法minEnclosingCircle. minAreaRect方法原型: RotatedRect minAre ...

  6. OpenCV绘制朱利亚(Julia)集合图形

    朱利亚集合是一个在复平面上形成分形的点的集合.以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名. 朱利亚集合可以由下式进行反复迭代得到: 对于固定的复数c,取某一z值(如z = z0) ...

  7. 学习OpenCV——绘制彩色直方图(HSV2BGR)

    #include <cv.h> #include <highgui.h> #include <iostream> using namespace std; int ...

  8. CUDA+OpenCV 绘制朱利亚(Julia)集合图形

    Julia集中的元素都是经过简单的迭代计算得到的,很适合用CUDA进行加速.对一个600*600的图像,需要进行360000次迭代计算,所以在CUDA中创建了600*600个线程块(block),每个 ...

  9. OpenCV绘制直线,矩形和园

    首先导入我们所需要的库: import numpy as np import cv2 import matplotlib.pyplot as plt 自定义显示图像的函数: def show(imag ...

随机推荐

  1. error LNK1104: 无法打开文件“opencv_world331.lib” LINK : fatal error LNK1104: 无法打开文件“opencv_world331.lib”,程序报这个错误时应该怎么解决?

    这几天被这个错误搞得很头大,看了很多大神的解决办法,涉及到opencv的版本的windows的操作系统等各种知识,但是我尝试了很多办法最终都没有解决.今天晚上突然想到之前遇到这种无法打开lib文件时, ...

  2. Single Number 普通解及最小空间解(理解异或)

    原题目 Given a non-empty array of integers, every element appears twice except for one. Find that singl ...

  3. IO流的工具类

    1.需要先导入jar包: FilenameUtils import org.apache.commons.io.FilenameUtils; public class FilenameUtilesDe ...

  4. 即时聊天APP(三) - 注册和登陆

    注册和登陆大多都是一些用户名和密码的验证,所以放在一起写,注册代码: String account = accountEdit.getText().toString().trim(); String ...

  5. Android 让你的 Room 搭上 RxJava 的顺风车 从重复的代码中解脱出来

    # 什么是 Room ? 谷歌为了帮助开发者解决 Android 架构设计问题,在 Google I/O 2017 发布一套帮助开发者解决 Android 架构设计的方案:Android Archit ...

  6. 树莓派3安装openwrt

    1.在编译openwrt之前,需要先安装依赖包,命令如下: sudo apt-get install autoconf binutils bison bzip2 flex gawk gettext m ...

  7. java处理emoji(转)

    最近对接ios.安卓客户端,需要处理emoji等表情符号,网上总结: 1.过滤掉emoji表情符 2.修改数据库的编码格式等,让其支持存储emoji 以下分别对两种方案进行描述: 第一种:过滤掉emo ...

  8. Leetcode 96.不同的搜索二叉树

    给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / ...

  9. linux环境下Nginx的配置及使用

    切换到目录/usr/local/nginx/sbin,/usr/local为nginx的默认安装目录 #启动 ./nginx #查看命令帮助 ./nginx -h 验证配置文件状态 ./nginx - ...

  10. Ubuntu18.04 显卡驱动+Cuda安装踩坑记录 以及Ubuntu虚拟内存的添加

    前几天买了张亮机卡,终于把主显卡成功直连到Unraid OS的虚拟机上了.然后就开始安装ubuntu系统开始配置环境,遇到了不少坑,特此记录. gcc版本问题 在安装显卡驱动的时候,不要修改gcc版本 ...