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
);
}

时间: 2024-08-07 08:39:19

opencv 基本绘图函数的相关文章

opencv学习之路(4)、Mat类介绍,基本绘图函数

一.Mat类创建 1 #include <opencv2/opencv.hpp> 2 using namespace cv; 3 4 void main(){ 5 Mat img1=imread("E://1.jpg"); 6 Mat img2(img1); 7 Mat img3=img1; 8 Mat img4=img1.clone(); 9 Mat img5; 10 img1.copyTo(img5); 11 12 cvtColor(img1,img1,CV_BGR2H

5、opencv中的绘图函数

1.目标 a.学习使用 OpenCV 绘制不同几何图形 b. 你将会学习到这些函数: cv2.line(), cv2.circle(), cv2.rectangle(),cv2.ellipse(),cv2.putText() 等. 2.代码 上面所有的这些绘图函数需要设置下面这些参数: img:你想要绘制图形的那幅图像. color: 形状的颜色. 以 RGB 为例, 需要传入一个元组, 例如: (255,0,0)代表蓝色.对于灰度图只需要传入灰度值. thickness:线条的粗细.如果给一个

OpenCV for Python 学习 (一 绘图函数)

本人的学习笔记主要记录的是学习opencv-python-tutorials这本书中的笔记 今天晚上简单学习OpenCV for Python如何绘图,主要用了这几个函数(这几个函数可在:http://docs.opencv.org/modules/core/doc/drawing_functions.html 找到): cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) cv2.circle(img, center,

OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(1)

(一)本节教程的目的 本节你将学到: 1--如何使用Point在图像中定义2D点 2--如何以及为何使用Scalar 3--用OpenCv的函数Line绘直线 4--用OpenCvd的函数ellipse绘制椭圆 5--用OpenCv的函数rectangle绘矩形 6--用OpenCv的函数circle绘圆 7--用OpenCv的函数fillPoly绘填充多边形 (二)原理,本节我们将大量使用Point和Scalar这两个结构: **********************************

Pytohn OpenCV 绘图函数

绘图函数都需要设置一些参数 img:想要绘制图形的那个图像 color:形状的颜色. thickness:线条的粗细(如果给一个闭合图形设置为-1,那么这个图形会被填充).默认值是1. linetype:线条的类型,8连接,抗锯齿等.默认情况是8连接.cv2.LINE_AA为抗锯齿. 画线 cv2.line(图像,起点,终点,颜色,线条类型) # -*- coding: utf-8 -*- import cv2 import numpy as np img = np.zeros((512, 51

6、【opencv入门】Mat类介绍,基本的绘图函数

一.Mat类 1.Mat类的创建 1 Mat img;//创建无初始化矩阵 2 Mat img1(200,100,CV_8UC1);//200行,100列(长200,宽100) 3 Mat img2(Size(200,100),CV_8UC3,Scalar(0,255,0));//长100,宽200 4 Mat img3(200,100,CV_8UC3,Scalar(0,255,0));//创建200行,100列的8位三通道矩阵 5 Mat img4(200,100,CV_8UC1,Scalar

OpenCV中的绘图函数

OpenCV可以用来绘制不同的集合图形,包括直线,矩形,圆,椭圆,多边形以及在图片上添加文字.用到的绘图函数包括 cv2.line(),cv2.circle(),cv2.rectangle() ,cv2.putText() 等等. 这些绘图函数需要设置参数如: ? img:你想要绘制图形的那幅图像.? color:形状的颜色.以 RGB 为例,需要传入一个元组,例如: (255,0,0 )代表蓝色.对于灰度图只需要传入灰度值.? thickness:线条的粗细.如果给一个闭合图形设置为 -1,那

Opencv+Python(3):在Opencv中绘制函数

在OpenCV中绘制函数 目标 学习使用OpenCV绘制不同的几何形状 你将学习这些函数:cv2.line(),cv2.circle(),cv2.rectangle(),cv2.ellipse(),cv2.putText()等 码 在所有上述功能中,您将看到如下所示的一些常见参数: img:想要绘制形状的图像 颜色:形状的颜色.对于BGR,将它作为元组传递,例如:(255,0,0)for blue.对于灰度,只需传递标量值即可. 厚度:线或圆的厚度等.如果像圆圈这样的闭合数字传递-1,它将填充形

OpenCV之cv2函数 2

1.主要函数 1. cv2.imread():读入图片,共两个参数,第一个参数为要读入的图片文件名,第二个参数为如何读取图片,包括 cv2.IMREAD_COLOR:读入一副彩色图片:cv2.IMREAD_GRAYSCALE:以灰度模式读入图片:cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道. PS:调用opencv,就算图像的路径是错的,OpenCV 也不会提醒你的,但是当你使用命 令print(img)时得到的结果是None. 2.cv2.imshow():创