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 ...
随机推荐
- java需要了解和学习的技能
一:系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节.扫清主要难点的技术人员.主要着眼于系统的“技术实现”.因此他/她应该是特定的开发平台.语言.工具的大师 ...
- php装上sqlserver驱动后仍然显示Call to undefined function sqlsrv_connect()问题
今天老师要求本来的php+mysql改为php+sqlserver,在网上搜索了相应的教程,说是“需要下载安装Microsoft Drivers for PHP for SQL Server驱动”,下 ...
- 使用dbutils
环境准备: 包结构: mysql导出sql脚本: //product CREATE TABLE `product` ( `id` int(10) NOT NULL AUTO_INCREMENT, `n ...
- Git同步更新操作GitHub和码云仓库上面的代码
一.前言 问题: 小编在生活中,一般都是将代码保存到github上,但由于国内的码云仓库确实速度比github快很多,用起来也很方便,于是后来就慢慢转码云了,当然小编在github上的代码也不想放弃更 ...
- .netCore部署在IIS上遇到的问题(500.19,500.21错误)
1.确保IIS功能都安装上了. 2.确保.netcore 的最新sdk已安装. 3.应用程序池改成无托管代码 4.500.19错误 错误原因,没有安装 DotNetCore.2.0.5-Windows ...
- Windows(Win7)搭建RabbitMQ服务器
首先安装Erlang环境,RabbitMQ的运行依赖于Erlang.可以在官网链接http://www.erlang.org/downloads 页面找到对应的开发环境安装包.例如64位Windows ...
- 【Jsp】利用iframe实现action不跳转
<form role="form" target="id_frame" action="dk" method="post&q ...
- windows环境下搭建python虚拟环境及离线移植
以python3.6为例 ①安装virtualenv: #pip安装之后在D:\Python36\Scripts目录下可以看到多了一个virtualenv.exe可执行文件pip install vi ...
- 一个selenium简单案例自动添加数据
//本来想着用execl来录入数据的,但是为了尽快完成所以直接搞了个数组 package aldtest; import org.openqa.selenium.*; import org.openq ...
- electron教程(二): http服务器, ws服务器, 进程管理
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...