【OpenCV笔记 07】OpenCV中线段的绘制和文本的插入
来源:互联网 发布:c语言 a算法代码 编辑:程序博客网 时间:2024/05/15 20:05
1.本文将先介绍OpenCV中线段的绘制和文本的插入,使用到的函数line()和 putText()(前面的一片博文已经介绍过)
2.其次将应用于绘制大众车标的示例代码和运行结果一并附上。
Line
绘制连接两个点的线段
void cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 );
- img
- 图像。
- pt1
- 线段的第一个端点。
- pt2
- 线段的第二个端点。
- color
- 线段的颜色。
- thickness
- 线段的粗细程度。
- line_type
- 线段的类型。
- 8 (or 0) - 8-connected line(8邻接)连接 线。
- 4 - 4-connected line(4邻接)连接线。
- CV_AA - antialiased 线条。
- shift
- 坐标点的小数点位数。
函数cvLine 在图像中的点1和点2之间画一条线段。线段被图像或感兴趣的矩形(ROI rectangle)所裁剪。对于具有整数坐标的non-antialiasing 线条,使用8-连接或者4-连接Bresenham 算法。画粗线条时结尾是圆形的。画 antialiased 线条使用高斯滤波。要指定线段颜色,用户可以使用使用宏CV_RGB( r, g, b )。
代码如下:/*OpenCV其他基本的图形绘制,本文用到函数有circle(), line(), putText()2016年7月14日*/#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include "opencv2/imgproc/imgproc.hpp"#include<iostream>usingnamespace cv;#define WinName1 "大众 VolksWagen" //定义宏,用于窗口命名#define Win_Width 800 //定义宏,用于设置窗口大小int main(int argc, char* argv){Mat BG(Win_Width, Win_Width, CV_8UC3, Scalar(255,70,0));//创建一个800x800的画布BG,背景颜色为蓝色//logo也可用circle()和polylines()设置//logo的分为两部分,圆和图案部分,其中图案上呈“V”形,下呈“W”形circle(BG, Point(400, 400), 300, Scalar(255,255,255), 6, 8, 0);//创建外圆,半径为300,线宽为6,颜色为蓝色,下同cv::line(BG, Point(285,122), Point(395,395), Scalar(255,255,255), 6, 8, 0);//line1,"V"的左半部分cv::line(BG, Point(516, 122), Point(405, 395), Scalar(255,255,255), 6, 8, 0);//line2,"V"的右半部分cv::line(BG, Point(122, 285), Point(285, 677), Scalar(255,255,255), 6, 8, 0);//line3,"W"的左半部分左倾斜线cv::line(BG, Point(395, 405), Point(285, 677), Scalar(255,255,255), 6, 8, 0);//line4,"W"的左半部分右倾斜线cv::line(BG, Point(405, 405), Point(516, 677), Scalar(255,255,255), 6, 8, 0);//line5,"W"的右半部分左倾斜线cv::line(BG, Point(677, 285), Point(516, 677), Scalar(255,255,255), 6, 8, 0);//line6,"W"的右半部分右倾斜线cv::line(BG, Point(395,395), Point(405, 395), Scalar(255,255,255), 6, 8, 0);//line7,字母V短横线cv::line(BG, Point(395, 405), Point(405,405), Scalar(255,255,255), 6, 8, 0);//line8,字母W短横线//在图中插入文字putText(BG, "VolksWagen", Point(260, 760), CV_FONT_HERSHEY_COMPLEX_SMALL, 2, Scalar(0,0,0));imshow(WinName1, BG);waitKey();return 0;}//PS:本文所有线段坐标,均为在AutoCAD自行度量并设置,只求效果相似。
运行结果:
1 0
- 【OpenCV笔记 07】OpenCV中线段的绘制和文本的插入
- ArcGIS Engine 中线段的绘制方法
- opencv鼠标操作cvSetMouseCallback和文本显示cvPutText的总结
- opencv检测中线
- 【OpenCV】OpenCV的图像绘制功能
- 【OpenCV】绘制图像的直方图
- opencv:基本图形的绘制
- OPencv基本图形的绘制
- opencv-随机生成器和文本操作
- opencv(c++)随机生成器和文本
- opencv学习笔记12 图像轮廓的提取和绘制
- Opencv学习笔记——绘制图像的像素直方图
- python_openCV学习笔记(1) 绘制openCV的logo
- OpenCV笔记(二)——基本图形的绘制
- VC++ GDI+编程的字体和文本绘制
- 在指定的地方插入html内容和文本内容
- 【OpenCV】功能:展示OpenCV的图像绘制功能
- OpenCV: kalman滤波的代码段
- Balloon Comes!
- [android-x86-6.0-rc1] /system/etc/init.sh
- table 撑破div
- 极简Java连接TimesTen程序
- 毕业论文格式要求
- 【OpenCV笔记 07】OpenCV中线段的绘制和文本的插入
- getContextPath()与getRealPath()
- 进程通信总结篇
- java集合框架代码演示demo
- php富文本编辑器
- 常用Windows消息、常量命名参考
- 堆和栈的区别
- JavaScript学习笔记--07
- 开门狗