array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 opencv各种绘图 直线 矩形 圆 椭圆 - 爱码网
blfbuaa

画图函数

(1)直线cvLine函数

其结构

void cvLine(//画直线
  CvArr* array,//画布图像
  CvPoint pt1,//起始点
  CvPoint pt2,//终点
  CvScalar color,//颜色
  int thickness = 1,//宽度
  int connectivity = 8//反走样
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
  IplImage *src1;
  src1 = cvLoadImage("10.jpg");
  
  cvLine(src1,cvPoint(20,20),cvPoint(250,250),CV_RGB(255,0,0),8);

  cvShowImage( "原图", src1);
  cvWaitKey();
  return 0;
}
输出结果


(2)矩形cvRectangle函数

其结构

void cvRectangle(//画矩形
  CvArr* array,//画布图形
  CvPoint pt1,//起始点
  CvPoint pt2,//终点
  CvScalar color,//颜色
  int thickness = 1,//宽度
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
  IplImage *src1;
  src1 = cvLoadImage("10.jpg");
  
  cvRectangle(src1,cvPoint(20,20),cvPoint(200,200),CV_RGB(0,255,0),8);

  cvShowImage( "原图", src1);
  cvWaitKey();
  return 0;
}
输出结果


(3)圆形cvCircle函数

其结构

void cvCircle(//画圆
  CvArr* array,//画布图像
  CvPoint cevter,//圆心
  int radius,//半径
  CvScalar color,//颜色
  int thickness = 1,//宽度
  int connectivity = 8//反走样
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
  IplImage *src1;
  src1 = cvLoadImage("10.jpg");
  
  cvCircle(src1,cvPoint(150,150),100,CV_RGB(0,0,255),5);

  cvShowImage( "原图", src1);
  cvWaitKey();
  return 0;
}
输出结果


(4)椭圆cvEllipse函数

其结构

void cvEllipse(//画椭圆
  CvArr* img,//画布图像
  CvPoint center,//中心点
  CvSize axes,//长短轴
  double angle,//偏离主轴角度
  double start_angle,//弧线開始位置
  double end_angle,//弧线结束位置
  CvScalar color,//颜色
  int thickness = 1,//宽度
  int line_type = 8//
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
  IplImage *src1;
  src1 = cvLoadImage("10.jpg");
  
  cvEllipse(src1,cvPoint(150,150),cvSize(150,50),45,0,360,CV_RGB(255,0,0),3);

  cvShowImage( "原图", src1);
  cvWaitKey();
  return 0;
}
输出结果


(5)多边形函数

1.cvFillPoly函数

其结构

void cvFillPoly(//画多个实心多边形
  CvArr* img,//画布图像
  CvPoint** pts,//点序列
  int* npt,//计数点数组
  int contours,//显示几个多边形
  CvScalar color,//颜色
  int line_type = 8
);
2.cvFillConvexPoly函数

其结构

void cvFillConvexPoly(//画一个实心多边形
  CvArr* img,//画布图像
  CvPoint* pts,//点序列
  int npt,//计数点数组
  CvScalar color,//颜色
  int line_type = 8
);
3.cvPolyLine函数
void cvFillPoly(//画多个空心多边形
  CvArr* img,//画布图像
  CvPoint** pts,//点序列
  int* npt,//计数点数组
  int contours,//显示几个多边形
  int is_closed,//是否从上个多边形尾点開始
  CvScalar color,//颜色
  int thickness = 1,//宽度
  int line_type = 8
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
  IplImage *src1,*src2,*src3;
  src1 = cvLoadImage("7.jpg");
  src2 = cvLoadImage("8.jpg");
  src3 = cvLoadImage("9.jpg");

  int arr[3]= {4,4,4};   

  CvPoint ** pt =new CvPoint*[3];

  pt[0] = new CvPoint[4];  
  pt[0][0] = cvPoint(10,10);  
  pt[0][1] = cvPoint(210,10);  
  pt[0][2] = cvPoint(210,210);  
  pt[0][3] = cvPoint(10,210);  
  pt[1] = new CvPoint[4]; 
  pt[1][0] = cvPoint(10,310);  
  pt[1][1] = cvPoint(210,310);  
  pt[1][2] = cvPoint(210,510);  
  pt[1][3] = cvPoint(10,510);  
  pt[2] = new CvPoint[4]; 
  pt[2][0] = cvPoint(310,10);  
  pt[2][1] = cvPoint(410,10);  
  pt[2][2] = cvPoint(410,210);  
  pt[2][3] = cvPoint(310,210);  

  cvPolyLine(src1, pt, arr, 3, 1, CV_RGB(0,255,0),5);  

  cvFillPoly(src2, pt,arr,3,CV_RGB(250,0,0));  

  cvFillConvexPoly(src3,pt[0],4,CV_RGB(0,0,255));

  cvShowImage( "原图1", src1);
  cvShowImage( "原图2", src2);
  cvShowImage( "原图3", src3);
  cvWaitKey();
  return 0;
}
输出结果


(6)绘制文字cvPutText函数

其结构

void cvPutText(//绘制文字
  CvArr* img,//画图图像
  const char* text,//文字内容
  CvPoint origin,//文字起始位置
  const CvFont* font,//文字字体设置
  CvScalar color//颜色
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

int main(int argc, char** argv)
{
  IplImage *src1,*src2,*src3;
  src1 = cvLoadImage("10.jpg");

  char* str = "I am a student!";

  CvFont* cf = new CvFont();

  cvInitFont(cf,CV_FONT_HERSHEY_SIMPLEX,1.0,0.5);

  cvPutText(src1,str,cvPoint(50,100),cf,CV_RGB(255,0,0));

  cvShowImage( "原图1", src1);
  cvWaitKey();
  return 0;
}
输出结果


to be continued 

分类:

技术点:

相关文章: