OpenCV 图形API(14)用于执行矩阵(或图像)与一个标量值的逐元素乘法操作函数mulC()

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

描述

将矩阵与标量相乘。

mulC 函数将给定矩阵 src 的每个元素乘以一个给定的标量值:
dst ( I ) = saturate ( src1 ( I ) ⋅ multiplier ) \texttt{dst} (I)= \texttt{saturate} ( \texttt{src1} (I) \cdot \texttt{multiplier} ) dst(I)=saturate(src1(I)⋅multiplier)

矩阵可以是单通道或多通道。输出矩阵必须与 src 具有相同的大小。

支持的矩阵数据类型包括:CV_8UC1、CV_8UC3、CV_16UC1、CV_16SC1、CV_32FC1。

注意:

该函数的文本ID是 "org.opencv.core.math.mulC"。

函数原型

cpp 复制代码
GMat cv::gapi::mulC
(
 	const GMat &  	src,
	double  	multiplier,
	int  	ddepth = -1 
) 	

参数

  • 参数src:输入矩阵。
  • 参数 multiplier:要乘以的因子。
  • 参数 ddepth:输出矩阵的可选深度。如果为 -1,输出矩阵的深度将与输入矩阵的深度相同。

代码示例

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

int main()
{
    // 创建一个示例矩阵
    cv::Mat src = ( cv::Mat_< double >( 2, 2 ) << 1.0, 2.0, 3.0, 4.0 );

    // 标量乘数
    double multiplier = 2.5;

    // 定义G-API计算图
    cv::GComputation mulComp( [ multiplier ]() {  // 捕获multiplier
        cv::GMat in;
        cv::GMat out = cv::gapi::mulC( in, multiplier );
        return cv::GComputation( cv::GIn( in ), cv::GOut( out ) );
    } );

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

    // 执行计算图,这里我们不指定特定的backend,使用默认设置
    mulComp.apply( src, dst, cv::compile_args() );

    // 打印结果
    std::cout << "Result: \n" << dst << std::endl;

    return 0;
}

运行结果

bash 复制代码
Result: 
[2.5, 5;
 7.5, 10]
相关推荐
Drgfd7 分钟前
真智能 vs 伪智能:天选 WE H7 Lite 用 AI 人脸识别 + 呼吸灯带,重新定义智能化充电桩
人工智能·智能充电桩·家用充电桩·充电桩推荐
萤丰信息29 分钟前
AI 筑基・生态共荣:智慧园区的价值重构与未来新途
大数据·运维·人工智能·科技·智慧城市·智慧园区
盖雅工场35 分钟前
排班+成本双管控,餐饮零售精细化运营破局
人工智能·零售餐饮·ai智能排班
神策数据42 分钟前
打造 AI Growth Team: 以 Data + AI 重塑品牌零售增长范式
人工智能·零售
2501_9413331044 分钟前
数字识别与检测_YOLOv3_C3k2改进模型解析
人工智能·yolo·目标跟踪
逐梦苍穹1 小时前
速通DeepSeek论文mHC:给大模型装上物理阀门的架构革命
人工智能·deepseek·mhc
运维小欣1 小时前
Agentic AI 与 Agentic Ops 驱动,智能运维迈向新高度
运维·人工智能
Honmaple2 小时前
OpenClaw 迁移指南:如何把 AI 助手搬到新电脑
人工智能
wenzhangli72 小时前
Ooder A2UI 第一性原理出发 深度解析核心逻辑
人工智能·开源
网络安全研究所2 小时前
AI安全提示词注入攻击如何操控你的智能助手?
人工智能·安全