opencv学习之路(4)、Mat类介绍,基本绘图函数
一、Mat类创建
Mat img;//创建无初始化矩阵
Mat img1(,,CV_8UC1);//200行,100列(长200,宽100)
Mat img2(Size(,),CV_8UC3,Scalar(,,));//长100,宽200
Mat img3(,,CV_8UC3,Scalar(,,));//创建200行,100列的8位三通道矩阵
Mat img4(,,CV_8UC1,Scalar());//创建单通道矩阵

#include <opencv2/opencv.hpp>
using namespace cv; void main(){
Mat img1=imread("E://1.jpg");
Mat img2(img1);
Mat img3=img1;
Mat img4=img1.clone();
Mat img5;
img1.copyTo(img5); cvtColor(img1,img1,CV_BGR2HSV);//BGR图转为HSV图
imshow("img1",img1);
imshow("img2",img2);
imshow("img3",img3);//image1/2/3跟随原图变化
imshow("img4",img4);
imshow("img5",img5);//image4/5不会跟随原图变化
waitKey();
}

二、基本绘图函数
1、画线、画圆、画矩形
#include <opencv2/opencv.hpp>
using namespace cv; void main(){
Mat img(,,CV_8UC3,Scalar(,,));//创建一个500行400列,3通道(即彩色图)的白色图
line(img,Point(,),Point(,),Scalar(,,),,);//在img图中画一条黄线,线宽为20,线型为8联通(一般都设置为8)
circle(img,Point(,),,Scalar(,,),,); //以(200,100)为圆心,半径为50,线宽为15画空心圆
circle(img,Point(,),,Scalar(,,),-,); //设置为-1时,画实心圆
rectangle(img,Point(,),Point(,),Scalar(,,),,); //传入坐上、右下角坐标,画空心矩形
rectangle(img,Rect(,,,),Scalar(,,),-,); //传矩形数据(左上角坐标(200,300)和宽100,高50),画实心绿色矩形 imshow("drawing",img);
waitKey();
}

2、画椭圆、画多边形、写入文字
#include <opencv2/opencv.hpp>
using namespace cv; void main(){
Mat img(,,CV_8UC3,Scalar(,,));
ellipse(img,Point(,),Size(,),,,,Scalar(,,),,); //画椭圆,(200,200)为中点,15旋转角度,0~360度,长轴180,短轴80
ellipse(img,RotatedRect(Point(,),Size(,),),Scalar(,,),-,); //画椭圆,40旋转角度 Point ppt[]={Point(,),Point(,),Point(,),Point(,),Point(,),Point(,)};
Point ppt2[]={Point(,),Point(,),Point(,),Point(,)};//定义点集
const Point* pts[]={ppt};
const Point* pts2[]={ppt2};
int npt[]={};
int npt2[]={};
fillPoly(img,pts,npt,,Scalar(,,),); //画填充多边形
polylines(img,pts2,npt2,,false,Scalar(,,),,); //画多边形,false为不闭合,true为闭合 putText(img,"China",Point(,),CV_FONT_BLACK,,Scalar(,,),,);//写入文字 imshow("drawing",img);
waitKey();
}

opencv学习之路(4)、Mat类介绍,基本绘图函数的更多相关文章
- springboot 学习之路 2(注解介绍)
目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...
- VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
上一节中鸡啄米讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数. CDC类简介 CDC类是一个设备上下文类. CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户 ...
- VS2010-MFC(图形图像:CDC类及其屏幕绘图函数)
转自:http://www.jizhuomi.com/software/244.html 上一节讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数. CDC类简介 CDC类是一个设备上下文类 ...
- opencv中mat类介绍
The class Mat represents an n-dimensional dense numerical single-channel or multi-channel array. It ...
- OpenCV 学习之路(2) -- 操作像素
本节内容: 访问像素值 用指针扫描图像 用迭代器扫描图像 编写高效的图像扫描循环 扫描图像并访问相邻像素 实现简单的图像运算 图像重映射 访问像素值 准备工作: 创建一个简单函数,用它在图像中加入椒盐 ...
- opencv学习之路(17)、边缘检测
一.概述 二.canny边缘检测 #include "opencv2/opencv.hpp" using namespace cv; void main() { //Canny边缘 ...
- opencv学习之路(13)、图像阈值化threshold
一.图像阈值化简介 二.固定阈值 三.自适应阈值 #include<opencv2/opencv.hpp> using namespace cv; void main(){ Mat src ...
- opencv学习之路(12)、图像滤波
一.图像滤波简介 二.方框滤波——boxFilter() #include<opencv2/opencv.hpp> using namespace cv; void main(){ Mat ...
- 【C++学习之路】派生类的构造函数(三)
三.多层继承的派生类 1.多层继承的派生类只需在构造函数的初始化列表中写出直接基类的构造函数即可 class student { public: student(int n, string nam) ...
随机推荐
- Cocos Code IDE (下载地址)
Cocos Code IDE 1.2.0 下载地址 Cocos Code IDE 1.2.0 Win32 下载地址: http://www.cocos2d-x.org/filedown/c ...
- Oracle 11g快速收集全库统计信息
环境:Oracle 11.2.0.4 采用并行的方式,快速收集全库统计信息,多用于跨版本升级之后,对全库的统计信息重新进行快速收集: --开启计时 set timing on --设置并行收集 exe ...
- 2017/6Summary
字符串转换为JSON 1.var json = eval('(' + str + ')'); 2.var json = (new Function("return " + str) ...
- beego 初体验 - orm - 增删改查
本文记录一下 beego orm 简单的增删改查,大牛请绕道. 首先,注册4个增删改查的路由: 其次,在 views 文件夹下增加对应的模板(页面): controller 类里写上增删改查的方法: ...
- C# Mongo Client 2.4.2判断是否存在表
public async Task<bool> CollectionExistsAsync(string collectionName) { var filter = new BsonDo ...
- Django中的View视图讲解
Django中的View视图(view.py)是负责处理用户请求和返回响应的逻辑. 视图函数或视图简而言之就是一个python函数,它接受一个web请求并返回一个Web响应. 此响应可以是网页的HTM ...
- caffe的model参数解析numpy多维数组的存取
在caffe的参数进行Python解析时,需要对模型的wight和bias的参数进行解析,为了提高结果解析的可读性,需要用numpy将解析的文件进行保存 此时用到np.savetxt方法和np.sav ...
- idea上将项目上传到github
1.下载并安装好git,然后配置git的path路径.再配置git的全局用户名和邮箱. 2.注册github账号,如果已经有github账号,则此步骤可以省略. 3.在idea中配置git,配置如下: ...
- Keras 如何利用训练好的神经网络进行预测
分成两种情况,一种是公开的训练好的模型,下载后可以使用的,一类是自己训练的模型,需要保存下来,以备今后使用. 如果是第一种情况,则参考 http://keras-cn.readthedocs.i ...
- Window对象属性
2018-11-28 12:21:20