图像的绘制 直线 椭圆 圆形 多边形
2017-10-30 19:11
302 查看
#include<iostream>
#include<core\core.hpp>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
Mat bgImage;
const char* drawdemo_win = "绘制形状与文字";
void my_line();
void my_rect();
void my_ellipse();
void my_circle();
void my_polygon();
int main(int argc,char** argv){
bgImage = imread("1.jpg");
if (bgImage.empty())
{
cout << "could not load image.." << endl;
return -1;
}
my_line();//线性
my_rect();//矩形
my_ellipse();//椭圆
my_circle();//圆
my_polygon();//多边形
//可以在多边形上puttext
putText(bgImage, "Hello opencv", Point(100, 100), CV_FONT_BLACK, 1.0, Scalar(0, 0, 255), 1, 8, false);
namedWindow(drawdemo_win, CV_WINDOW_AUTOSIZE);
imshow(drawdemo_win, bgImage);
waitKey(0);
return 0;
}
void my_line() {
Point p1 =
Point(20, 20);
Point p2;
p2.x = 300;
p2.y = 300;
Scalar color = Scalar(0, 0, 255);
line(bgImage, p1, p2, color, 1);
}
void my_rect() {
//成员变量x、y、width、height,分别为左上角点的坐标和矩形的宽和高
Rect rect = Rect(50, 50, 300, 300);
Scalar color = Scalar(255, 255, 0);
rectangle(bgImage, rect, color, 1, 8, 0);
}
void my_ellipse() {
Scalar color = Scalar(255, 255, 0);
//背景图 中心点 size(长轴,短轴) 倾斜角度 ,0,弧线画的范围程度 划线的颜色 默认后几个
ellipse(bgImage, Point(bgImage.rows / 2, bgImage.cols / 2), Size(bgImage.rows / 4, bgImage.rows / 8), 45, 0, 180, color);
}
void my_circle() {
Scalar color = Scalar(255, 255, 0);
//背景图 中心点 半径 颜色
circle(bgImage, Point(bgImage.rows / 2, bgImage.cols / 2), 150, color);
}
void my_polygon() {
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 npt[] = { 5 };
Scalar color = Scalar(255, 12, 255);
fillPoly(bgImage, ppts, npt, 1, color,8);
}
#include<core\core.hpp>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
Mat bgImage;
const char* drawdemo_win = "绘制形状与文字";
void my_line();
void my_rect();
void my_ellipse();
void my_circle();
void my_polygon();
int main(int argc,char** argv){
bgImage = imread("1.jpg");
if (bgImage.empty())
{
cout << "could not load image.." << endl;
return -1;
}
my_line();//线性
my_rect();//矩形
my_ellipse();//椭圆
my_circle();//圆
my_polygon();//多边形
//可以在多边形上puttext
putText(bgImage, "Hello opencv", Point(100, 100), CV_FONT_BLACK, 1.0, Scalar(0, 0, 255), 1, 8, false);
namedWindow(drawdemo_win, CV_WINDOW_AUTOSIZE);
imshow(drawdemo_win, bgImage);
waitKey(0);
return 0;
}
void my_line() {
Point p1 =
Point(20, 20);
Point p2;
p2.x = 300;
p2.y = 300;
Scalar color = Scalar(0, 0, 255);
line(bgImage, p1, p2, color, 1);
}
void my_rect() {
//成员变量x、y、width、height,分别为左上角点的坐标和矩形的宽和高
Rect rect = Rect(50, 50, 300, 300);
Scalar color = Scalar(255, 255, 0);
rectangle(bgImage, rect, color, 1, 8, 0);
}
void my_ellipse() {
Scalar color = Scalar(255, 255, 0);
//背景图 中心点 size(长轴,短轴) 倾斜角度 ,0,弧线画的范围程度 划线的颜色 默认后几个
ellipse(bgImage, Point(bgImage.rows / 2, bgImage.cols / 2), Size(bgImage.rows / 4, bgImage.rows / 8), 45, 0, 180, color);
}
void my_circle() {
Scalar color = Scalar(255, 255, 0);
//背景图 中心点 半径 颜色
circle(bgImage, Point(bgImage.rows / 2, bgImage.cols / 2), 150, color);
}
void my_polygon() {
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 npt[] = { 5 };
Scalar color = Scalar(255, 12, 255);
fillPoly(bgImage, ppts, npt, 1, color,8);
}
相关文章推荐
- drawRect 绘制矩形 drawCircle 绘制圆形 drawOval 绘制椭圆 drawPath 绘制任意多边形 * drawLine 绘制直线 drawPoin 绘制点
- 【iOS】Quartz 2D绘制直线/长方形/椭圆/圆形
- 【OpenCV3图像处理】绘图功能总结(直线,矩形,圆,椭圆,多边形,文字)
- Android入门——利用Canvas完成绘制点、圆、直线、路径、椭圆、多边形等2D图形
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形) --图像图形
- opencv学习笔记(十)画直线、矩形、圆形、椭圆以及多边形程序
- Android编程之canvas绘制各种图形(点,直线,弧,圆,椭圆,文字,矩形,多边形,曲线,圆角矩形)
- 绘制一些基本图形(例如矩形,圆形,椭圆,多边形)
- 【OpenCV3】几何图形(直线、矩形、圆、椭圆、多边形等)绘制
- OpenCV之imgproc 模块. 图像处理(5)在图像中寻找轮廓 计算物体的凸包 创建包围轮廓的矩形和圆形边界框 为轮廓创建可倾斜的边界框和椭圆 轮廓矩 多边形测试
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形
- iOS图像处理之绘制直线
- 【小白笔记】PHP学习之路 (29) --图像处理、绘制像素、矩形、多边形
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- Flex 绘制圆形或椭圆并填充图片
- 直线,贝塞尔,椭圆,多边形,圆(空心的与实心的)
- Canvas 绘制矩形,圆形,不规则图形(线条),渐变等图像效果
- opencv 画直线,椭圆,多边形操作
- OpenCv学习笔记(七)---OpenCv中的基本绘图函数,圆,椭圆,线段,矩形,多边形的绘制(2)--提高篇