当前位置: 首页 > news >正文

OpenCV 图形API(10)用于执行标量除以矩阵的逐元素操作函数divRC()

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

描述

标量除以矩阵。

函数 divRC 将给定的标量除以矩阵 src 的每个元素,并将结果保存在与 src 具有相同大小和类型的新的矩阵中:
dst(I)   =   saturate(divident*scale/src(I)) \texttt{dst(I) = saturate(divident*scale/src(I))} dst(I) = saturate(divident*scale/src(I))

当 src(I) 为零时,dst(I) 也将为零。多通道矩阵的不同通道独立处理。矩阵可以是单通道或多通道。输出矩阵必须与 src 具有相同的大小和深度。

支持的矩阵数据类型为 CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1。

cv::gapi::divRC 函数用于执行标量除以矩阵的逐元素操作,并可以选择性地应用缩放因子和指定输出数据类型深度。与 cv::gapi::divC 不同,divRC 是将一个标量(被除数)除以矩阵中的每个元素(除数),而不是相反。

函数原型

GMat cv::gapi::divRC 	
(
 	const GScalar &  	divident,
	const GMat &  	src,
	double  	scale,
	int  	ddepth = -1 
) 		

参数

  • 参数src:输入矩阵。
  • 参数divident:要被除的数(被除数)。
  • 参数ddepth:输出矩阵的可选深度。如果为 -1,则输出矩阵的深度将与输入矩阵的深度相同。
  • 参数scale:缩放因子。

返回值

返回一个 GMat 对象,表示标量除以矩阵中每个元素并经过缩放后的结果。

代码示例

#include <iostream>
#include <opencv2/gapi/core.hpp>  // 包含G-API核心功能
#include <opencv2/opencv.hpp>

int main()
{
    // 创建示例数据
    cv::Mat src = ( cv::Mat_< float >( 2, 2 ) << 2.0f, 4.0f, 8.0f, 16.0f );
    cv::Scalar divident( 16.0 );  // 标量被除数
    double scale = 1.0;           // 缩放因子

    // 检查输入矩阵是否为空
    if ( src.empty() )
    {
        std::cerr << "无法加载输入矩阵,请检查数据。" << std::endl;
        return -1;
    }

    // 定义G-API图中的输入
    cv::GScalar gdivident( divident );
    cv::GMat gsrc;
    int ddepth = -1;  // 使用默认深度

    // 执行除法操作
    auto gdst = cv::gapi::divRC( gdivident, gsrc, scale, ddepth );

    // 创建一个计算图
    cv::GComputation div_graph( cv::GIn( gsrc ), cv::GOut( gdst ) );

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

    // 编译并执行计算图
    div_graph.apply( cv::gin( src ), cv::gout( result ) );

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

    return 0;
}

运行结果

Result: 
[8, 4;
 2, 1]


文章转载自:
http://accessible.hnsdj.cn
http://anacrusis.hnsdj.cn
http://captan.hnsdj.cn
http://chivalric.hnsdj.cn
http://aplenty.hnsdj.cn
http://bibliographical.hnsdj.cn
http://amaldar.hnsdj.cn
http://campsheeting.hnsdj.cn
http://arrearage.hnsdj.cn
http://chloral.hnsdj.cn
http://alluvium.hnsdj.cn
http://cerusite.hnsdj.cn
http://christmastide.hnsdj.cn
http://caecostomy.hnsdj.cn
http://calyceal.hnsdj.cn
http://attorneyship.hnsdj.cn
http://begat.hnsdj.cn
http://aconitic.hnsdj.cn
http://alphanumeric.hnsdj.cn
http://analects.hnsdj.cn
http://biaxial.hnsdj.cn
http://awny.hnsdj.cn
http://carrefour.hnsdj.cn
http://absurdist.hnsdj.cn
http://befitting.hnsdj.cn
http://asceticism.hnsdj.cn
http://algometry.hnsdj.cn
http://accurst.hnsdj.cn
http://agnatha.hnsdj.cn
http://affirmance.hnsdj.cn
http://www.dtcms.com/a/107779.html

相关文章:

  • 低代码框架
  • 网络协议之系列
  • 商标知识产权管理系统平台有哪些功能?
  • 第三方平台步步紧逼之下,独立站商城系统应如何做
  • MoLe-VLA:通过混合层实现的动态跳层视觉-语言-动作模型实现高效机器人操作
  • 牛脸分割数据集labelme格式1324张1类别有增强图片
  • macvlan 和 ipvlan 实现原理及设计案例详解
  • 华为Eudemon8000E Series CFCard概述
  • MySQL 事务与锁机制详解
  • pytorch 离线安装
  • win11 设置 wsl2 ubuntu
  • 4 月 6 日 共赴香港|聚焦 Polkadot 为 Web3 云开拓的创新实践路径!
  • IGMP(Internet Group Management Protocol)与组播技术深度解析
  • 巧记英语四级单词 Unit1-2【晓艳老师版】
  • Spring笔记06-数据持久化
  • Cesium 核心思想及基础概念应用
  • 蓝桥杯高频考点——高精度(含C++源码)
  • Java服务端性能优化:从理论到实践的全面指南
  • Css径向渐变 - radial-gradient
  • 宽带空时波束形成算法原理及MATLAB仿真
  • 【每日算法】Day 16-1:跳表(Skip List)——Redis有序集合的核心实现原理(C++手写实现)
  • OkHttpHttpClient
  • 160. 相交链表
  • 分析sys高问题的方法总结
  • Scala相关知识学习总结3
  • Linux中引导和服务
  • 网络攻防快速入门笔记pwn | 02 栈溢出题型 | 2.2 ret2libc
  • cesium加载CTB生成的地形数据
  • 海康网络摄像机接入EasyGBS GB28181平台
  • python示例类