用opencv绘制一个箭头,沿着圆运动并留下运动轨迹(c++)

news/2024/10/23 6:29:00/

用opencv绘制一个箭头,沿着圆运动并留下运动轨迹(c++)。基于该例程可以简单实现一个运动小车的模型。

using namespace cv;int main()
{// 创建一个黑色背景的图像,大小为400*400Mat image(400, 400, CV_8UC3, Scalar(0, 0, 0));//设置箭头的初始位置和方向Point2f arrow_center(200, 200);  //箭头中心点double arrow_angle = 0.0;        //箭头角度(弧度)// 循环处理每帧图像while (true) {// 旋转箭头arrow_angle += 0.1;if (arrow_angle >= 2 * CV_PI) {arrow_angle -= 2 * CV_PI;}// 计算箭头的头和尾位置Point2f arrow_head(arrow_center.x + 50 * cos(arrow_angle),arrow_center.y + 50 * sin(arrow_angle));Point2f arrow_tail(arrow_center.x - 50 * cos(arrow_angle),arrow_center.y - 50 * sin(arrow_angle));// 绘制箭头arrowedLine(image, arrow_tail, arrow_head, Scalar(0, 0, 255), 3);// 将箭头中心向前移动10个像素arrow_center.x += 10 * cos(arrow_angle);arrow_center.y += 10 * sin(arrow_angle);// 如果箭头越过边界,则将其移回中央if (arrow_center.x < 0 || arrow_center.y < 0 ||arrow_center.x > image.rows || arrow_center.y > image.cols) {arrow_center.x = image.cols / 2;arrow_center.y = image.rows / 2;}// 如果应该闪烁,将箭头颜色改为绿色,否则为红色// 显示图像imshow("Arrow", image);// 等待一会儿waitKey(100);//if ((int)(arrow_angle / CV_PI * 5) % 2 == 0) {arrowedLine(image, arrow_tail, arrow_head, Scalar(0, 255, 0), 3);//}imshow("Arrow", image);}return 0;
}

http://www.ppmy.cn/news/1239348.html

相关文章

802.11 帧的Reason Code 位和Status Code 位

Reason Code 位 当对方不适合加入网络时&#xff0c;工作站会送出 Disassociation&#xff08;解除连接&#xff09;或 Deauthentication&#xff08;解除身份认证&#xff09;帧作为应答。这些帧当中包含一个长度 16bit 的 Reason Code&#xff08;原因代码&#xff09;位&am…

python -opencv 中值滤波 ,均值滤波,高斯滤波实战

python -opencv 中值滤波 &#xff0c;均值滤波&#xff0c;高斯滤波实战 cv2.blur-均值滤波 cv2.medianBlur-中值滤波 cv2.GaussianBlur-高斯滤波 直接看代码吧&#xff0c;代码很简单&#xff1a; import copy import math import matplotlib.pyplot as plt import matp…

基于 STM32F7 和神经网络的实时人脸特征提取与匹配算法实现

本文讨论了如何使用 STM32F7 和神经网络模型来实现实时人脸特征提取与匹配算法。首先介绍了 STM32F7 的硬件和软件特点&#xff0c;然后讨论了人脸特征提取和匹配算法的基本原理。接下来&#xff0c;我们将重点讨论如何在 STM32F7 上实现基于神经网络的人脸特征提取与匹配算法&…

vue使用xlsx导入到表格中代码

以下是使用xlsx导入表格的代码示例&#xff1a; 安装依赖包 npm install xlsx -S引入xlsx和vue-xlsx import * as XLSX from "xlsx"; import VueXlsx from "vue-xlsx";在Vue组件中使用VueXlsx <template><div><input type"file&qu…

模板初阶(1):函数模板,类模板

一、函数模板 1.1 概念 函数模板代表了一个函数家族&#xff0c;该函数模板与类型无关&#xff0c;在使用时被参数化&#xff0c;根据实参类型产生函数的特定类型版本。 格式&#xff1a; template <typename T>或template <class T> template <class T>…

Java项目如何打包成Jar(最简单)

最简单的办法&#xff0c;使用Maven插件&#xff08;idea自带&#xff09; 1.选择需要打包的mudule&#xff0c;点击idea右侧的maven插件 2.clean操作 3.选择需要的其他mudule&#xff0c;进行install操作&#xff08;如果有&#xff09; 4.再次选择需要打包的module&#…

第96步 深度学习图像目标检测:FCOS建模

基于WIN10的64位系统演示 一、写在前面 本期开始&#xff0c;我们继续学习深度学习图像目标检测系列&#xff0c;FCOS&#xff08;Fully Convolutional One-Stage Object Detection&#xff09;模型。 二、FCOS简介 FCOS&#xff08;Fully Convolutional One-Stage Object D…

【数据结构 —— 堆的实现(顺序表)】

数据结构 —— 堆的实现&#xff08;顺序表&#xff09; 一.堆1.1堆的定义及结构1.1.1.堆的定义1.1.2.堆的性质1.1.3.堆的结构 二.堆的实现2.1.头文件的实现 —— &#xff08;Heap.h&#xff09;2.2.源文件的实现 —— &#xff08;Heap.c&#xff09;2.2.1.小堆的源文件2.2.2…