MAC IOS 用openCV 绘制简单图形
来源:互联网 发布:女生必知护肤技巧少女 编辑:程序博客网 时间:2024/05/17 07:48
在做开发的时候,在MAC 和IOS 平台上 实现绘制简单图形的方式有很多。这里简单说一下,使用OpenCV实现,在MAC与IOS平台上实现绘制简单的图形:直线、矩形、圆、椭圆等等。
直线
绘制直线,在openCV中实现绘制直线的函数为cvLine
结构:
void cvLine(//画直线 CvArr* array,//画布图像 CvPoint pt1,//起始点 CvPoint pt2,//终点 CvScalar color,//颜色 int thickness = 1,//宽度 int connectivity = 8//反走样);
实现的代码
{ IplImage *src1; cvPoint(20,20), cvPoint(250,250), CV_RGB(255,0,0), 8); cvShowImage( "原图", src1); cvWaitKey(); return 0;}
绘制矩形 cvRectangle函数
结构
void cvRectangle(//画矩形 CvArr* array,//画布图形 CvPoint pt1,//起始点 CvPoint pt2,//终点 CvScalar color,//颜色 int thickness = 1,//宽度 1代表实心填充 0空心);
实现方法
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;
圆形cvCircle函数
结构
void cvCircle(//画圆 CvArr* array,//画布图像 CvPoint cevter,//圆心 int radius,//半径 CvScalar color,//颜色 int thickness = 1,//宽度 1代表实心填充 0空心 int connectivity = 8//反走样);
实现的方法
{ IplImage *src1; src1 = cvLoadImage("10.jpg"); cvCircle(src1,cvPoint(150,150),100,CV_RGB(0,0,255),5); cvShowImage( "原图", src1); cvWaitKey(); return 0;}
椭圆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//);
实现的方法为
{ IplImage *src1; src1 = cvLoadImage("10.jpg"); cvEllipse(src1, cvPoint(150,150), 45,0, 360, CV_RGB(255,0,0), 3); cvShowImage( "原图", src1); cvWaitKey(); return 0;}
绘制多边形
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);
代码实现
{ 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;}
4、绘制文字cvPutText函数
结构
void cvPutText(//绘制文字 CvArr* img,//绘图图像 const char* text,//文字内容 CvPoint origin,//文字起始位置 const CvFont* font,//文字字体设置 CvScalar color//颜色);
代码实现
{ 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;}
0 0
- MAC IOS 用openCV 绘制简单图形
- 【OpenCV】绘制简单图形
- python opencv 绘制简单图形
- iOS Quartz2D绘制简单图形
- iOS --- OpenGLES之简单的图形绘制
- iOS 绘制简单图形---CGContextRef篇
- iOS 绘制简单图形---UIBezierPath篇
- opencv 绘制半透明图形
- opencv 绘制半透明图形 (
- opencv:基本图形绘制
- opencv-python绘制图形
- 用代码绘制简单的图形
- opengl 绘制简单图形
- 图形简单绘制擦除
- Android 简单图形绘制
- OpenGL绘制简单图形
- Android绘制简单图形
- 简单绘制图形
- Codeforces Round #332 (Div. 2) E
- C语言经典题-库函数strlen与strcpy工作方式
- Datagrid 与Treegrid的查询问题
- BZOJ 4561 [JLoi2016]圆的异或并
- Spring的AOP
- MAC IOS 用openCV 绘制简单图形
- leetcode_Fizz Buzz
- windows7环境下theano的正确安装
- 防止表单重复提交的几种策略
- 风险管理(Risk Management)
- 高并发下线程安全的单例模式(最全最经典)
- 认识shell及其变量
- 错排公式推导
- iOS OpenCV我安装遇到的问题和解决办法