opencv7-绘制形状和文字

一、理论

 

二、代码演示 

#include<opencv2\opencv.hpp>
#include<iostream>
#include<math.h>
using namespace cv;
using namespace std;
Mat bgImage;
const char* drawdemo_win = "draw shapes and text demo";
void MyLines();
void MyRectangle();
void MyEllipse();
void MyCircle();
void MyPolygon();
void RandomLineDemo();
int main(int argc,char** argv)
{bgImage= imread("E:\\vs2015\\opencvstudy\\3.jpg", 1);if (!bgImage.data){cout << "could not load image1!" << endl;return -1;}MyLines();MyRectangle();MyEllipse();MyCircle();MyPolygon();RandomLineDemo();putText(bgImage, "Hello World", Point(350, 200), CV_FONT_HERSHEY_SCRIPT_COMPLEX,4, Scalar(0, 200, 200), 4, LINE_8);imshow(drawdemo_win, bgImage);waitKey(0);return 0;
}
void MyLines()
{Point p1 = Point(20, 20);Point p2;p2.x = 800;p2.y = 800;Scalar color = (0, 0, 255);line(bgImage, p1, p2, color, 1, LINE_AA);  //在图上画线..LINE_AA 代表反锯齿
}void MyRectangle()
{Rect rect = Rect(500, 500, 300, 300);Scalar color = (255, 0, 0);rectangle(bgImage, rect, color, 2, LINE_4);
}void MyEllipse()
{ellipse(bgImage, Point(bgImage.cols/2, bgImage.rows/2), Size(bgImage.cols / 4, 
bgImage.rows /8),90,0,360, Scalar(0, 255, 0), 2, LINE_8);// Point(x,y)代表椭圆中心点坐标 //Size(x,y)代表 长轴,短轴  // 90 代表椭圆的倾斜程度//0-360 代表椭圆的绘制弧度// Scalar(0, 255, 0) 椭圆颜色
}void MyCircle()
{Point p1 = Point(bgImage.cols / 2, bgImage.rows / 2);circle(bgImage, p1, 100, Scalar(255, 255, 0), 2, LINE_8);
}void MyPolygon()
{Point pts[1][5];pts[0][0] = Point(100, 100);pts[0][1] = Point(100, 200);pts[0][2] = Point(200, 200);pts[0][3] = Point(200, 100);pts[0][4] = Point(100, 100);const Point* ppts[] = { pts[0] };int nps[] = {5};Scalar color = Scalar(255, 12, 255);fillPoly(bgImage, ppts, nps, 1, color, LINE_8);  //1代表只有一个轮廓}void RandomLineDemo()
{RNG rng(12345);Point pt1;Point pt2;Mat bg = Mat::zeros(bgImage.size(), bgImage.type());for (int i = 0; i < 100000; i++){pt1.x = rng.uniform(0, bgImage.cols);pt2.x = rng.uniform(0, bgImage.cols);pt1.y = rng.uniform(0, bgImage.rows);pt2.y = rng.uniform(0, bgImage.rows);line(bg, pt1, pt2, Scalar(rng.uniform(0, 255), rng.uniform(0, 255), 
rng.uniform(0, 255)), 2, LINE_8);if (waitKey(50) > 0){break;}imshow("RandomLineDemo", bg);}}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海居住证积分办理攻略,太容易了,快来收藏!!!

历时1个月零2天&#xff0c;上海居住证积分终于办下来了&#xff0c;太激动了&#xff0c;我整理了积分办理攻略&#xff0c;准备办积分的朋友&#xff0c;大家快来围观参考交流&#xff01;&#xff01;&#xff01;一、办理居住证二、模拟打分根据自己真实情况填写并打分&…

opencv8-图像模糊

为掩膜 表示图像在&#xff08;i,j&#xff09;位置的像素 代表图像经过掩膜操作 双边模糊&#xff1a;&#xff08;基于高斯模糊&#xff09; #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace std; using namespace c…

上海人社APP历年社保查询攻略

随时随地查社保&#xff0c;太方便了&#xff0c;快来收藏起来&#xff01;&#xff01;&#xff01;1、苹果商店或安卓商店下载【上海人社app】2、账号登录&#xff0c;账号&#xff1a;身份证号码 密码&#xff1a;去社保中心开通3、首页&#xff0c;点击CA证书管理4、点击【…

opencv9-膨胀和腐蚀

膨胀是求最大值。即白色增多 腐蚀是求最小值&#xff0c;即黑色增多 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; //模糊原理 Mat src; Mat…

上海个人所得税缴费明细查询攻略

途径一&#xff1a;带本人身份证至上海市各区税务局拉取本人纳税清单明细&#xff1b;途径二&#xff1a;查2018年及之前&#xff1a;1、登录上海市电子税务局&#xff1a;http://shanghai.chinatax.gov.cn/2、>我要办税&#xff0c;自然人登录3、>证明开具4、>个人所…

opencv10-形态学操作

主要针对二值图像和灰度图 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; int main() {Mat src imread("E:\\vs2015\\opencvstudy\\1.jp…

8年测试经验,用例设计竟然不知道状态图法?

作为测试人&#xff0c;我们平时比较常用的软件测试测试方法有边界值、等价类划分、错误推测法、因果图、场景法等&#xff0c;如果提到状态图法&#xff0c;可能很多人都很陌生&#xff0c;今天我们就来一起认识下状态图法。状态图通常在被测试软件状态比较多的情况下使用&…

opencv12-图像金字塔

上采样&#xff1a;图像分辨率增加 下采样&#xff1a;图像分辨率降低 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; int main() {Mat src …

Fiddler Everywhere全平台抓包调试工具安装和使用(一)

Fiddler Everywhere是可以运行在任何浏览器&#xff0c;任何系统、跨平台&#xff08;Windows、Mac、Linux&#xff09;的一款Web调试代理工具。它记录了计算机和Internet之间的所有HTTP&#xff08;S&#xff09;通信&#xff0c;可以检查和编辑通信&#xff0c;并Mock请求以及…

移动端iphone抓包调试神器—Stream安装和使用(一)

之前已经给大家分享了很多抓包工具的文章了&#xff0c;如果觉得有用&#xff0c;记得分享&#xff01;&#xff01;&#xff01;Fiddler抓取APP请求&#xff08;环境搭建&#xff09;之mama再也不用担心抓不到包了Fiddler抓包神器带你遨游网络&#xff0c;叱咤风云&#xff0c…

opencv14-自定义线性滤波

卷积作用&#xff1a;提取边缘&#xff0c;图像增强图像锐化&#xff0c;模糊图像 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; int main() …

Fiddler响应拦截数据篡改,实现特殊场景深度测试(一)

一、日常测试的场景1、页面文案太长&#xff0c;页面显示测试2、钉钉已打卡&#xff0c;再次打卡测试3、人在上海&#xff0c;App定位到北京测试4、招聘岗位状态十几种&#xff0c;在招岗位页面才展示测试5、各种图片、视频格式&#xff0c;页面显示测试6、不同App版本号&#…

利用Fiddler抓包调试工具,实现mock数据特殊场景深度测试(二)

大家好&#xff0c;我是王大力&#xff0c;上一篇文章Fiddler响应拦截数据篡改&#xff0c;实现特殊场景深度测试&#xff08;一&#xff09;我们和大家聊了如何利用fiddler抓包工具&#xff0c;设置响应断点&#xff0c;拦截响应&#xff0c;来篡改响应数据&#xff0c;欺骗前…

opencv16-Sobel算子

处理过程&#xff1a; #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; int main() {Mat src imread("E:\\vs2015\\opencvstudy\\1.jpg&qu…

利用Fiddler抓包调试工具,实现神奇特殊场景深度测试(三)

前面两篇文章我们分别聊了如何设置请求断点和设置响应断点&#xff0c;以及篡改请求数据和响应数据来欺骗前后端&#xff0c;达到可模拟特殊场景测试效果&#xff0c;利用Fiddler的AutoResponder进行mock测试&#xff0c;无需构建大量的测试数据&#xff0c;大大提升了测试效率…

Pytest参数选项自由执行测试用例详解(二)

运行pytest可以指定目录和文件&#xff0c;如果不指定&#xff0c;pytest会搜索当前目录及其子目录中以test_开头或以_test结尾得测试函数。我们把pytest搜索测试文件和测试用例的过程称为测试搜索&#xff08;test discovery&#xff09;。只要遵循pytest的命名规则&#xff0…

ISTQB高级国际认证试题及答案(一)

题目 #1 &#xff08;3 分&#xff09;选择2个答案您是旅游信息手机应用项目的测试经理。近期该项目切换到敏捷流程和测试驱动开发&#xff08;TDD&#xff09;。每个开发周期持续15天&#xff0c;在第7天之后开始每日构建。第10天以后&#xff0c;不会再有新的功能加入。开发团…

ISTQB高级-测试经理国际认证试题及答案(二)

1、TM-1.2.1 (K4) 为了计划测试活动和工作产品以实现测试目标&#xff0c;必须对一个系统的测试需求进行分析。问题&#xff1a;您是旅游信息手机应用项目的测试经理。近期该项目切换到敏捷流程和测试驱动开发&#xff08;TDD&#xff09;。每个开发周期持续15天&#xff0c;在…

我的游测之路 | 揭秘游戏测试神秘面纱(一)

经常有人问我&#xff1a;游戏测试到底是干什么呢&#xff1f;是游戏代练&#xff1f;每天玩游戏&#xff1f;装备随便造&#xff0c;怪物随便秒&#xff0c;线上GM指令随便用&#xff1f;可以每天玩玩游戏&#xff0c;不用忙工作&#xff0c;太爽了&#xff1f;当然并非完全如…

opencv22-直方图均衡化

#include<opencv2\highgui\highgui.hpp> #include<opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace std; using namespace cv; char *output_title "output Image"; Mat src, dst; //霍夫圆检测前先进行中值滤波…