06 画图和标记

本文档详细介绍了如何使用OpenCV进行图形绘制和标记,包括cv::circle()、cv::line()、cv::rectangle()等函数,以及字体和文本的处理如cv::putText()。此外,还讲解了cv::LineIterator用于按顺序获取图像中直线像素点的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Chapter 06 画图和标记

颜色的表示 cv::Scalar,颜色顺序为 BGR , 宏指令 CV_RGB(r, g, b) 返回一个颜色表示。

图形

cv::circle()

画一个简单的圆

cv::clipLine()

  • 判断直线是否在给定的范围内
  • 当直线的所有点都不在给定范围内返回false

cv::ellipse()

画一个椭圆,也可以画弧

cv::ellipse2Poly()

计算椭圆弧的多边形近似

cv::fillConvexPoly()

绘制简单多边形的填充版本

cv::fillPoly()

绘制任意多边形的填充版本

cv::line()

画一个直线

cv::rectagle()

绘制简单矩形

cv::polyLines()

绘制多条多边形曲线

cv::LineIterator

LineIterator::LineIterator
### MATLAB 中自定义图表颜色数据点标记 在 MATLAB 中,可以通过多种方式来定制化图表的颜色以及数据点的标记样式。对于二维绘图函数 `plot` 而言,在调用该命令时可以直接指定线型、颜色及标记符作为输入参数。 #### 使用字符串指定颜色与标记 最简单的方法是在 plot 函数中通过第三个字符向量参数设定线条属性: ```matlab % 绘制一条红色圆圈标记的数据曲线 x = linspace(0, 2*pi); y = sin(x); figure; plot(x, y, 'ro'); % r 表示红色 o 表示圆形标记 ``` 此处 `'ro'` 是一个由两个字符组成的字符串,其中第一个字母代表颜色(如'r'表示红色),第二个符号则对应于所使用的标记形式(例如'o'用于画出圆形)。更多可用的颜色代码有 b (蓝色), g (绿色), c (青色), m (品红), w (白色),k (黑色)[^1]。 #### 利用 Name-Value 参数对进一步细化配置 除了上述方法外,还可以利用 name-value 对的形式精确控制每种属性的具体表现效果: ```matlab % 创建带特定颜色样式的散点图 scatter(randn(100,1), randn(100,1), ... 'MarkerFaceColor', [0 .75 .75], ... % 设置填充颜色为浅蓝灰色 'MarkerEdgeColor','b', ... % 边缘颜色设为蓝色 'LineWidth',1.5); % 增加边框宽度至1.5磅 ``` 这里展示了如何使用 RGB 数组来自定义非标准色彩,并调整其他视觉特性比如 MarkerEdgeColor LineWidth 来增强图形的表现力[^2]。 #### 应用 colormap 定义渐变色系 当处理多条轨迹或多维数据显示时,可以借助 colormap 功能实现更加丰富的配色方案。colormap 可接受预置名称或用户构建的矩阵作为其值域范围内的映射规则。 ```matlab [X,Y,Z] = peaks; % 获取测试表面数据集 surf(X,Y,Z,'EdgeColor','none') % 渲染曲面并隐藏网格线 shading interp % 平滑着色过渡区域 colorbar % 显示当前坐标轴上的颜色栏 colormap(parula) % 更改为 parula 风格的色调分布 ``` 这段脚本创建了一个三维地形模型,并应用了平滑渲染技术平滑着色模式;最后更改默认 colomap 至 "parula" 类型,这是一种适合科学计算领域内广泛采用的美观且易于区分不同高度层次的颜色序列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值