OpenCV里的线型 您所在的位置:网站首页 circle的意思是啥 OpenCV里的线型

OpenCV里的线型

2024-01-21 03:28| 来源: 网络整理| 查看: 265

转载:https://zhidao.baidu.com/question/427970238676959132.html

首先说明一点:这个linetype参数并不是指线型是实线、虚线还是点画线,这个参数实际用途是改变线的产生算法。什么意思?以函数line()为例,官方的说明文档里lineType参数说明如下:

1

Line(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 )

1

2

3

4

5

lineType –

  Type of the line:

   8 (or omitted) - 8-connected line.

   4 - 4-connected line.

   CV_AA - antialiased line.

lineType=8指的是8联通线型,这里涉及到线的产生算法,因为分辨率的关系,直线使用光栅的形式表示的,如图:

这其实就是就是8联通线(8-connected),即下一个点连接上一个点的边或角,对比一下4-connected算法(也叫Bresenham直线算法)会更好理解,如图:

4联通的简单叙述就是:下一个点和上一个点边相连(没有角了),这样就消除了8联通法线断裂的瑕疵,可以说是一种更好的方式。至于为什么选择8,可能是因为算法上更简单。有兴趣可以参考这个:

http://stackoverflow.com/questions/13542925/line-rasterization-4-connected-bresenham

和这个:

https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm#Simplification

 

四连通与八连通概念

参考:https://blog.csdn.net/diligentkong/article/details/77991671



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有