OpenCV绘图函数(1)绘制带箭头的直线函数arrowedLine()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

绘制一个从第一个点指向第二个点的箭头线段。

cv::arrowedLine 函数在图像中绘制一个从 pt1 到 pt2 的箭头。另见 line 函数。

函数原型

cpp 复制代码
void cv::arrowedLine	
(
	InputOutputArray 	img,
	Point 	pt1,
	Point 	pt2,	
	const Scalar & 	color,
	int 	thickness = 1,
	int 	line_type = 8,
	int 	shift = 0,
	double 	tipLength = 0.1 
)		

参数

  • 参数img 图像.
  • 参数pt1 箭头起始的点。
  • 参数pt2 箭头指向的点。
  • 参数color 线条的颜色。
  • 参数thickness 线条的粗细。
  • 参数line_type 线条的类型。参见 LineTypes。
  • 参数shift 点坐标中的小数位数。
  • 参数tipLength 相对于箭头长度的箭头尖端长度。

代码示例

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

int main(int argc, char** argv)
{
    // 创建一个空白的图像
    cv::Mat image = cv::Mat::zeros(512, 512, CV_8UC3);

    // 定义箭头的起点和终点
    cv::Point pt1(100, 100); // 起始点
    cv::Point pt2(400, 400); // 结束点

    // 设置箭头颜色为红色
    cv::Scalar color(0, 0, 255);

    // 设置箭头的宽度
    int thickness = 2;

    // 设置箭头线条类型
    int line_type = 8; // 可以是 8 或者 CV_AA (抗锯齿)

    // 设置箭头尖端的长度
    double tipLength = 0.15;

    // 绘制箭头
    cv::arrowedLine(image, pt1, pt2, color, thickness, line_type, 0, tipLength);

    // 显示图像
    cv::imshow("Arrowed Line Example", image);
    cv::waitKey(0);

    return 0;
}

运行结果

相关推荐
Rocky Ding*13 分钟前
【三年面试五年模拟】2026-11-05_月之暗面大模型算法岗一面、二面面经全解析
论文阅读·人工智能·深度学习·机器学习·aigc·强化学习·ai-native
Mirawork19 分钟前
Mirawork v0.32.0 更新体验:会话引用、任务分享与音频转写怎么用
人工智能·音视频
lucas_AI1 小时前
模型一升级缓存全作废?DeepSeek 实测:KV Cache 跨版本直接复用,首 token 快 5 倍
人工智能
在所不辞兄1 小时前
【人工智能驱动的电催化研究-05】条件、循环与数据检查
人工智能·深度学习·神经网络·机器学习·有限元·电化学·电催化
IT_陈寒1 小时前
JavaScript项目实战经验分享:从内存泄漏到性能优化的血泪史
前端·人工智能·后端
小oo呆3 小时前
【自然语言处理与大模型】如何编写优质的Skill?
人工智能
非优秀程序员10 小时前
第12章 烧钱无底洞!!!不烧就死,烧了也不知道啥时候死|《互联网产品恩仇录》
人工智能
Zelman94511 小时前
第06章-交互与观察动作空间
人工智能
冬奇Lab11 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
字节跳动视频云技术团队13 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能