OpenCV 图形API(15)计算两个矩阵(通常代表二维向量的X和Y分量)每个对应元素之间的相位角(即角度)函数phase()

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

描述

cv::gapi::phase 是 OpenCV 的 G-API 模块中的一个函数,用于计算两个矩阵(通常代表二维向量的X和Y分量)每个对应元素之间的相位角(即角度)。这个函数特别适用于处理复数的极坐标表示或计算光流等应用中。

计算二维向量的旋转角度。

cv::phase 函数计算由 x 和 y 的对应元素形成的每个二维向量的旋转角度:
angle ( I ) = atan2 ( y ( I ) , x ( I ) ) \texttt{angle} (I) = \texttt{atan2} ( \texttt{y} (I), \texttt{x} (I)) angle(I)=atan2(y(I),x(I))

角度估计的精度约为 0.3 度。当 x(I)=y(I)=0 时,对应的 angle(I) 被设置为 0。

函数原型

cpp 复制代码
GMat cv::gapi::phase 
(
 	const GMat &  	x,
	const GMat &  	y,
	bool  	angleInDegrees = false 
) 		

参数

  • 参数 x: 输入浮点数数组,包含 2D 向量的 x 坐标。
  • 参数 y: 输入数组,包含 2D 向量的 y 坐标;它必须与 x 具有相同的大小和类型。
  • 参数 angleInDegrees: 如果为 true,则函数计算的角度以度为单位;否则,角度以弧度为单位。

返回值

  • 向量角度数组;它具有与 x 相同的大小和类型。

代码示例

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

int main()
{
    // 创建示例输入矩阵
    cv::Mat x = ( cv::Mat_< float >( 2, 2 ) << 1.f, -1.f, -1.f, 1.f );
    cv::Mat y = ( cv::Mat_< float >( 2, 2 ) << 1.f, 1.f, -1.f, -1.f );

    // 定义G-API计算图
    cv::GComputation phaseComp( []() {
        cv::GMat inX, inY;
        cv::GMat out = cv::gapi::phase( inX, inY, true );  // 使用度作为角度单位
        return cv::GComputation( cv::GIn( inX, inY ), cv::GOut( out ) );
    } );

    // 输出矩阵
    cv::Mat dst;

    // 执行计算图
    phaseComp.apply( x, y, dst, cv::compile_args() );

    // 打印结果
    std::cout << "Phase angles (in degrees): \n" << dst << std::endl;

    return 0;
}

运行结果

bash 复制代码
Phase angles (in degrees): 
[44.990456, 135.00955;
 224.99045, 315.00955]
相关推荐
RxGc几秒前
MCP生态爆发:Anthropic的协议野心与开发者的真实机会
人工智能·mcp
agicall.com8 分钟前
信电助 - 智能话务盒 UB-A-XC 型号功能列表
人工智能·语音识别·信创电话助手·固话录音转文字
Dovis(誓平步青云)13 分钟前
《如何通过prometheus-webhook-dingtalk解决 Alertmanager 原生不支持钉钉 Webhook问题》
人工智能·生成对抗网络·钉钉·运维开发·prometheus
Jet76914 分钟前
Gemini业务复盘上线前怎么做失败样本和成本字段管理
人工智能
rabbit_pro15 分钟前
Spring AI使用Ollama
java·人工智能·spring
折哥的程序人生 · 物流技术专研16 分钟前
出版社物流WMS智能调度实战(三):从“卡死”到“跑稳”——WMS机器学习运维监控与自动回滚实战
运维·人工智能·机器学习·架构·人机交互
zhangfeng113316 分钟前
人工智能最新动态 AI 日报 · 2026年5月10日
人工智能
Agent产品评测局22 分钟前
传统RPAvsAI Agent,制造业生产场景能力对比详解 —— 2026企业级自动化选型全景盘点
运维·人工智能·ai·chatgpt·自动化
byte轻骑兵23 分钟前
【LE Audio】CAP精讲[4]: Acceptor合规指南,从程序到协同全流程落地
人工智能·音视频·le audio·音视频控制
扬帆破浪25 分钟前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:免费开源的AI软件首启动 FirstRunSetup向导背后做了什么
人工智能·windows·电脑·知识图谱