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

opencv在电脑屏幕上画_opencv平滑处理?opencv 画实心圆?OpenCV繪圖的實作-cvCircle,cvEllipse,cvElli…你是否正在寻找关于cvcircle的内容?让我把最吸引人的东西奉献给你:转自:OpenCV繪圖的實作-cvcircle,cvEllipse,cvEllipseBox圓的製作,要給他目標圖片,圓心座標,半徑,其他參數等.cvcircle()函式的實作#include#includeIplImage*Image1;CvPointCircleCenter;intRadius;CvScalar…

大家好,又见面了,我是你们的朋友全栈君。

你是否正在寻找关于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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161536.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 400报错有关[通俗易懂]

    400报错有关[通俗易懂]400报错是数据类型对不上,畸形,以下是经常报400的地方1.时间封装类中没有加时间注解或者使用时分秒是在新增页面使用f标签去吊.0使用<f:>2.外键name值中只加属性没加属性的属性id(注:这个是属性是外键所以需要对象.对象id)3.封装类Date包导成sql了…

    2022年5月20日
    33
  • 交换机telnet配置

    交换机telnet配置

    2021年7月30日
    71
  • navicat for mysql如何导入sql文件_excel怎么把0显示出来

    navicat for mysql如何导入sql文件_excel怎么把0显示出来NavicatforMySQL导入excel文件_水里的鱼不会羡慕陆地爬行的动物-CSDN博客NavicatforMySQL是连接数据库的工具,可以更好地管理数据库。1.先连接连接名和主机名都是IP,本地连接名和主机名是localhost或127.0.0.1。-2.创建数据库及表表已经创建好了接下来就将含有学生信息的class.xls表导入到message表中2.1点击导入向导2.2表中我的数据放在sheet12.3这里我从第二行…

    2025年12月11日
    4
  • getMethod和getAnnotation「建议收藏」

    getMethod和getAnnotation「建议收藏」1该方法用于取得指定的实体类的实体名称。如果指定的实体类的实体标签定义了名称,则取该名称,否则取类名。例如:有实体类SampleEntityJava代码importjavax.persistence.Entity; @Entity(name=”SpecialName”) publicclassSampleEntity{ …

    2025年12月11日
    3
  • 一步步学习SPD2010–第二章节–处理SP网站(2)–管理网站用户和权限

    一步步学习SPD2010–第二章节–处理SP网站(2)–管理网站用户和权限SPD不仅提供给你能力去自定义SPFoundation和SPServer网站。而且还帮助你管理和保护你的网站,而不必打开浏览器。当你在浏览器中创建网站时,你可以选择网站是否有它自己的安全设置。然而,

    2022年8月5日
    7
  • js中map遍历数组对象_js遍历数组

    js中map遍历数组对象_js遍历数组forEach()和map()都是遍历数组的方法,用法类似,但是还是有很大区别:相同点:      1.都是循环遍历数组中的每一项;      2.在遍历中执行匿名函数都可以接收三个参数,分别为:遍历过程的每一项、遍历序号(索引值)、原数组;      3.执行的匿名函数中的this都指向window。  不同点:      map():      根据遍历执行的匿名函数,对于原数…

    2025年11月10日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号