opencv 基本绘图函数
opencv 常用的数据结构和函数
颜色空间转换函数 cvtColor 函数
cvtColor 函数是opencv 中的颜色空间转换函数。
可以实现rgb向hsv hsi等颜色空间的转换,也可以转换成灰度图像
原型:void cvtColor (InputArray src,OutArray dst,int code,int dstCn =0);
src :输入图像
dst:输出图像
code:颜色转换空间标示
dstCn:目标图像的通道数 若该参数为0 则为目标图像的通道数
cvtColor 函数标识符
RGB-> BGR CV_BGR2BGRA ,CV_RGB2BGRA,CV_BGRA2RGBA,CV_BGR2BGRA,CV_BGRA2BGR
RGB->GRAY CV_RGB2GRAY,CV_GRAY2RGB,CV_RGBA2GRAY,CV_GRAY2RGBA
RGB->HSV CV_RGB2HSV,CV_BGR2HSV,CV_HSV2BGR,CV_HSV2BGR,CV_HSV2RGB
RGB->HLS CV_RGB2HLS,CV_BGR2HLS,CV_HLS2RGB,CV_HLS2BGR
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
int main()
{
Mat srcImage = imread("jpg/1.jpeg");
Mat dstImage;
cvtColor(srcImage,dstImage,CV_RGB2BGR);
imshow("src",srcImage);
imshow("dst",dstImage);
waitKey();
return 0;
}
图形绘制函数
Ellipse函数的用法
函数原型:void ellipse(Mat&img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar&color, int thickness=1, int lineType=8, int shift=0)
img :画布容器
center:椭圆中心
axes :大小位于该矩形中
angle:椭圆的旋转角度
startangle:开始弧度
endAngle:结束弧度
color :图形颜色
thickness :线宽
lineType :线型
shift :圆心坐标点和数轴的精度
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
#define WINDOW_WIDTH 600
void DrawEllipse(Mat img,double angle)
{
int thickness = 2;
int lineType = 8;
ellipse(
img,
Point(WINDOW_WIDTH/2,WINDOW_WIDTH/2),
Size(WINDOW_WIDTH/4,WINDOW_WIDTH/16),
angle,
0,
360,
Scalar(255,129,0),
thickness,
lineType
);
}
int main()
{
Mat img(1000,600,CV_8UC3,Scalar::all(0));
DrawEllipse(img,30);
imshow("ellipse",img);
waitKey();
return 0;
}
Circle 函数的用法
函数原型 void circle(Mat& img, Point center, int radius, const Scalar& color, intthickness=1, int lineType=8, int shift=0)
img: 将要画圆的图像;
center: 圆心;
radius: 半径;
color: 圆的颜色;
thickness: 如果值是正,圆外轮廓的厚度,如果值是负,表示要绘制一个填充圆;
lineType:线类型;
shift:
void DrawCircle(Mat img)
{
int thickness = -1;
int lineType = 8;
circle(
img,
Point(100,300),
60,
Scalar(0,89,255),
thickness,
lineType
);
}
line 函数的用法
函数原型 line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)
img :输出图像
pt1 :开始点
pt2 :结束点
color:线条颜色
thickness :线条粗细
lineType :线型
shift
void DrawLine(Mat img)
{
int thickness = 1;
int lineType = 8;
line(
img,
Point(100,200),
Point(500,600),
Scalar(255,23,56),
thickness,
lineType
);
}
opencv 基本绘图函数的更多相关文章
- OpenCV基本绘图函数
线段:line 函数 CV_EXPORTS_W void line(CV_IN_OUT Mat& img, Point pt1, Point pt2, const Scalar& co ...
- opencv-python教程学习系列4-opencv绘图函数
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv绘图函数,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统 ...
- OpenCV中的绘图函数-OpenCV步步精深
OpenCV 中的绘图函数 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像 img=np.zeros((512,512,3), np.uint8) 这是黑色的底,我们的画布,我把窗口名叫做i ...
- opencv学习之路(4)、Mat类介绍,基本绘图函数
一.Mat类创建 Mat img;//创建无初始化矩阵 Mat img1(,,CV_8UC1);//200行,100列(长200,宽100) Mat img2(Size(,),CV_8UC3,Scal ...
- OpenCV绘图函数
OpenCV几个绘图函数 矩形 rectangle(Mat& img,Point pt1, Point pt2, const Scalar&color, int thickness=1 ...
- 5、opencv中的绘图函数
1.目标 a.学习使用 OpenCV 绘制不同几何图形 b. 你将会学习到这些函数: cv2.line(), cv2.circle(), cv2.rectangle(),cv2.ellipse(),c ...
- OpenCV中的绘图函数
OpenCV可以用来绘制不同的集合图形,包括直线,矩形,圆,椭圆,多边形以及在图片上添加文字.用到的绘图函数包括 cv2.line(),cv2.circle(),cv2.rectangle() ,cv ...
- Opencv笔记(四)——绘图函数
常用的绘图函数有: cv2.line() cv2.circle() cv2.rectangle() cv2.ellipse() cv2.putText( ...
- OpenCV3入门(三)基本绘图函数
1.函数原型 /** @brief Draws a line segment connecting two points.*/ CV_EXPORTS_W void line(InputOutputAr ...
随机推荐
- Docker部署DVWA
上次在Docker手动配置了一个Ubuntu的Lamp镜像,这次来试验一下使用这个镜像部署一个简单的web应用吧. 首先从Lamp镜像运行一个容器 root@VM-149-127-debian:~/a ...
- java生成首字母拼音简码的总结
百度找到了某论坛高人写的java(具体论坛记不清了),直接用来调用,再次非常感谢,基本上实现了我的需求 package MD5;import java.util.Scanner;public clas ...
- JavaScript一个拖动元素的实例
<script type="text/javascript" src="./whenReady.js"></script> <bo ...
- centos7架设vsftpd服务
网络控制相关命令: systemctl status network 网络状态 systemctl restart network 网络重启 查看网络状态: nmcli connection show ...
- SSH连不上虚拟机的问题解决
这几天工作任务不重,今早上班打算在liunx下运行下python脚本.打开VM,SSH突然连不上虚拟机了.网上试了很多方法都不行,最后花费2个小时解决了这一问题. 结合我的实际情况,问题解决如下: 1 ...
- Dubbo Data length too large: 11557050, max payload: 8388608 传输数据超限
com.alibaba.dubbo.remoting.transport.AbstractCodec.checkPayload() ERROR Data length too large: 11557 ...
- JQuery学习笔记——层级选择器
JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...
- 将txt文档按行分割
昨天遇到了一个需求,需要将txt文档按行分割,并指定了行数, 最近在用python,就在网上搜了一下,在参考了http://blog.csdn.net/zhang_red/article/detail ...
- FreeRTOS——队列管理
1. 队列主要用于任务与任务.中断与任务之间的消息传递. 2. 创建队列时,请注意队列中数据单元的长度. 3. 通常情况,队列被作为FIFO(先进先出)使用,即数据从队列尾写入,从队列首读.当然,数据 ...
- HDOJ2008-数值统计
Problem Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然 ...