你是否正在寻找关于cvcircle的内容?让我把最吸引人的东西奉献给你:

转自:

OpenCV繪圖的實作-cvcircle,cvEllipse,cvEllipseBox

圓的製作,要給他目標圖片,圓心座標,半徑,其他參數等.

cvcircle()函式的實作

#include

#include

IplImage *Image1;

CvPoint CircleCenter;

int Radius;

CvScalar Color;

int Thickness;

int Shift;

int main()

{

CvSize ImageSize1 = cvSize(1000,700);

Image1 = cvCreateImage(ImageSize1,IPL_DEPTH_8U,3);

CircleCenter=cvPoint(500,350);

Radius=300;

Color=CV_RGB(255,0,0);

Thickness=3;

cvcircle(Image1,CircleCenter,Radius,Color,Thickness,CV_AA,Shift);

cvNamedWindow("Circle",1);

cvShowImage("Circle",Image1);

cvWaitKey(0);

}

執行結果:

執行出來的結果會是一個座標(500,300),半徑300的紅色圓形.

cvcircle()

繪出圓形的函式,需要給它目標圖形IplImage資料結構,CvPoint圓心座標,半徑長度,CvScalar顏色,粗細,線條種類,縮放比例數據.

cvcircle(IplImage資料結構,CvPoint圓心座標,半徑數據,CvScalar顏色,粗細數據,線條種類,縮放比例數據)

橢圓形,用的是cvEllipse()的函式,這個繪圖也很特殊,可以用橢圓函式畫弧線,需要用到的是,目標圖形IplImage資料結構,橢圓圓心,橢圓長短軸,橢圓旋轉角度,繪製起點(角度),繪製終點(角度)及其他參數.

cvEllipse()函式的實作

#include

#include

IplImage *Image1;

CvPoint CircleCenter;

CvSize EllipseAxes;

double RotateAngle;

double StartDrawingAngle;

double StopDrawingAngle;

CvScalar Color;

int Thickness;

int Shift;

int main()

{

CvSize ImageSize1 = cvSize(1000,700);

Image1 = cvCreateImage(ImageSize1,IPL_DEPTH_8U,3);

CircleCenter=cvPoint(500,400);

EllipseAxes=cvSize(300,200);

RotateAngle=0;

StartDrawingAngle=0;

StopDrawingAngle=360;

Color=CV_RGB(255,0,0);

Thickness=2;

Shift=0;

cvEllipse(Image1,CircleCenter,EllipseAxes,RotateAngle,

StartDrawingAngle,StopDrawingAngle,Color,Thickness,CV_AA,Shift);

cvNamedWindow("Ellipse",1);

cvShowImage("Ellipse",Image1);

cvWaitKey(0);

}

執行結果:

(1)RotateAngle=0,StartDrawingAngle=0,StopDrawingAngle=360

(2)修改為RotateAngle=70,StartDrawingAngle=100,StopDrawingAngle=360

上面的執行結果,第一張是標準的橢圓,給它圓心,長短軸半徑,旋轉角度,繪圖起點,繪圖終點,顏色,粗細,線條種類,縮放比例,而弧線的部份,修改了旋轉角度,繪圖起點跟繪圖終點,如果繪圖起點是0~360那就一定是橢圓了,只要他的角度不會繞一圈,愛畫怎樣的弧線都行.

cvEllipse()

可以繪橢圓跟弧線,需要用到目標圖形IplImage資料結構,CvSize長短軸半徑,旋轉角度數據,繪圖起點,繪圖終點的角度數據,CvScalar顏色,粗細數據,線條種類,縮放比例.

cvEllipse(IplImage資料結構,CvSize長短軸,旋轉角度數據,繪圖起點角度,繪圖終點角度,CvScalar顏色,粗細數據,線條種類,縮放比例數據)

下面的這個跟cvEllipse()很像,但是他是屬於OpenCV演算法專用的繪圖函數,可以藉由一個方框來繪製橢圓,利用ROI(Region Of Interest)的方式,OpenCV的應用上有cvCamShift,cvMinAreaRect,cvFitEllipse等.

cvEllipseBox()函式的實作

#include

#include

IplImage *Image1;

CvBox2D Box1;

CvScalar Color;

int Thickness;

int Shift;

int main()

{

CvSize ImageSize1 = cvSize(1000,700);

Image1 = cvCreateImage(ImageSize1,IPL_DEPTH_8U,3);

Box1.center=cvPoint2D32f(500,400);

Box1.size=cvSize2D32f(300,200);

Box1.angle=70;

Color=CV_RGB(255,0,0);

Thickness=2;

Shift=0;

cvEllipseBox(Image1,Box1,Color,Thickness,CV_AA,Shift);

cvNamedWindow("EllipseBox",1);

cvShowImage("EllipseBox",Image1);

cvWaitKey(0);

}

執行結果:

這邊可輸入的參數少了,也只能單純的話橢圓,然後讓他旋轉,其他功能都與cvEllipse()類似,而圓心,長短軸長度,旋轉角度,都以CvBox資料結構來代替,OpenCV的演算法也拿CvBox的方框來實作出橢圓.

cvEllipseBox()

給定目標IplImage資料結構,在給它方框CvBox資料結構,藉由方框資料結構的參數繪出橢圓,在給定線條粗細,線條種類,縮放比例大小等數據

cvEllipseBox(IplImage資料結構,CvBox方框資料結構,CvScalar顏色,線條粗細數據,線條種類,縮放比例大小數據)

以上就是关于cvcircle的全部内容,相信你一定会非常满意,。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shenmilingyu/article-17293-1.html

opencv在电脑屏幕上画_opencv平滑处理?opencv 画实心圆?OpenCV繪圖的實作-cvCircle,cvEllipse,cvElli...相关推荐

  1. OpenCV繪圖的實作-cvCircle,cvEllipse,cvEllipseBox

    转自:http://www.90in.net/space-4-do-blog-id-10218.html OpenCV繪圖的實作-cvCircle,cvEllipse,cvEllipseBox 圓的製 ...

  2. opencv在电脑屏幕上画_用Python+OpenCV让电脑帮你玩微信跳一跳

    前言 最近微信小游戏跳一跳大热,自己也是中毒颇久,无奈手残最高分只拿到200分.无意间看到教你用Python来玩微信跳一跳一文,在电脑上利用adb驱动工具操作手机,详细的介绍以及如何安装adb驱动可以 ...

  3. opencv在电脑屏幕上画_opencv 用鼠标在窗口中画矩形

    一些图像处理算法要求用户的参与,比如分割算法GrabCut需要用户选定初始区域或前/背景掩模,在用OpenCV实现里,就涉及到利用鼠标在图片上选定这些区域,这里讲讲常见的几种鼠标绘图: 绘制矩形并获得 ...

  4. 在电脑屏幕上截图的5种方式

    在电脑屏幕上截图的5种方式 第一种:Ctrl + PrScrn 使用这个组合键截屏,获得的是整个屏幕的图片,截取后ctrl+v键可直接在文档中保存.Alt + PrScrn 这个组合键截屏,获得的结果 ...

  5. 怎样录制电脑屏幕上播放的影视视频

    如今好看的电影或者电视视频越来越多了,每年甚至每个季度都会有几部精彩的影视被发布出来.而在这些影视上映出来之后,很多人都会将这些影视中的一些精彩的片段给录制下来,然后经过一些后期处理制作成一个影视类的 ...

  6. ios11手机怎么投屏到电脑屏幕上

    ios11手机怎么投屏到电脑屏幕上?使用ios11手机系统的用户一定还不了解如何投屏,苹果手机自带特有的airplay镜像投屏功能,但是你们了解它的用处吗?它的用处还不小呢. 迅捷苹果录屏精灵是一款功 ...

  7. 计算机屏幕有条线,为什么电脑屏幕上有条线

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以win7系统的惠普电脑为例,电脑屏幕上有条线的原因: 1.电脑显示器坏掉了: 2.排线坏了(针对笔记本),显卡坏了(针对台式机) ...

  8. 王者荣耀怎么投屏到电脑屏幕上

    游戏一直是我们生活中消遣娱乐的方式,不管是王者荣耀还是吃鸡游戏,不分年龄阶段,都喜欢享受游戏时光,但是手机屏幕小,受到很大的局限,可以在大屏幕上观看那就更加爽了,但是王者荣耀怎么投屏到电脑屏幕上呢?今 ...

  9. 苹果手机计算机怎样拉到桌面,苹果手机怎样才能快速投屏到电脑屏幕上

    随着手机功能的不断强大,现在很多用户使用手机办公,还可以通过手机连接到电脑就可以实现多平台办公,迅捷苹果录屏精灵就是一款功能实用的投屏录屏工具,既有屏幕录制功能,又具有投屏功能,支持自动录制手机画面, ...

最新文章

  1. servlet php,JSP和Servlet的区别及PHP类比
  2. linux开启ftp
  3. java web中验证码的实现
  4. spring boot+mybatis整合
  5. C++ 11 深度学习(十)原始字面量
  6. 自我价值感缺失的表现_不同类型的缺失价值观和应对方法
  7. spring boot mybatisplus集成_spring-boot系列之集成测试
  8. Mike Novogratz:比特币在未来几年内将继续大幅上涨
  9. 怎么用Iometer测试存储性能
  10. 常见的几种 RuntimeException
  11. leetcode 31. Next Permutation(字典序的下一个)
  12. C语言图形库——easyx的使用
  13. 运动控制系统常用传感器介绍
  14. 使用计算机自带的wifi,电脑的自带无线网卡你知道怎么用吗?赶紧学习一下
  15. DIS全球首款基于数字资产证券化交易生态系统
  16. aspx页面返回的response
  17. 【码农话健身】入门级腿部锻炼
  18. python3函数参数(必选参数、默认参数、关键字参数、可变参数)
  19. 八进制、十进制、操作符(day04)
  20. 电力运检工人是如何被AI解放的?

热门文章

  1. 练习7-11 字符串逆序(15 分)
  2. Windows API——TextOut()函数学习
  3. 私はついにあなたを失った作者婷雨
  4. Python爬虫从入门到精通:(44)JS逆向:试客联盟的逆向分析_Python涛哥
  5. 真正的服务,是成就彼此!
  6. [随笔]_写在断网时
  7. [WikiOI] 2.1.2 排序
  8. 达梦数据库报错有歧义的列名
  9. <Linux开发>linux开发工具- 之-samba共享文件夹
  10. 【C语言】UTC时间转换为北京时间