OpenCV 图形API(14)用于实行矩阵(或图像)与一个标量值的逐元素乘法操纵 ...

打印 上一主题 下一主题

主题 1905|帖子 1905|积分 5715

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  • 操纵系统: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”。
函数原型

  1. GMat cv::gapi::mulC
  2. (
  3.         const GMat &          src,
  4.         double          multiplier,
  5.         int          ddepth = -1
  6. )        
复制代码
参数



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

  1. #include <opencv2/gapi.hpp>
  2. #include <opencv2/gapi/core.hpp>
  3. #include <opencv2/opencv.hpp>
  4. int main()
  5. {
  6.     // 创建一个示例矩阵
  7.     cv::Mat src = ( cv::Mat_< double >( 2, 2 ) << 1.0, 2.0, 3.0, 4.0 );
  8.     // 标量乘数
  9.     double multiplier = 2.5;
  10.     // 定义G-API计算图
  11.     cv::GComputation mulComp( [ multiplier ]() {  // 捕获multiplier
  12.         cv::GMat in;
  13.         cv::GMat out = cv::gapi::mulC( in, multiplier );
  14.         return cv::GComputation( cv::GIn( in ), cv::GOut( out ) );
  15.     } );
  16.     // 输出矩阵
  17.     cv::Mat dst;
  18.     // 执行计算图,这里我们不指定特定的backend,使用默认设置
  19.     mulComp.apply( src, dst, cv::compile_args() );
  20.     // 打印结果
  21.     std::cout << "Result: \n" << dst << std::endl;
  22.     return 0;
  23. }
复制代码
运行结果

  1. Result:
  2. [2.5, 5;
  3. 7.5, 10]
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

杀鸡焉用牛刀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表