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

OpenCV(四):Mat支持的运算

目录

1.对两个 Mat 对象按元素进行运算,有加法、减法、乘法和除法等运算。

2.Mat类支持逻辑与、或、非等逻辑运算,


1.对两个 Mat 对象按元素进行运算,有加法、减法、乘法和除法等运算。

加法:Mat + Mat,保存到 result 中

cv::add(mat1, mat2, result);

减法: Mat - Mat,保存到 result 中

cv::subtract(mat1, mat2, result);

乘法 Mat * Mat,保存到 result 中

cv::multiply(mat1, mat2, result);

除法: Mat / Mat,保存到 result 中

cv::divide(mat1, mat2, result);

2.Mat类支持逻辑与、或、非等逻辑运算,

逻辑与:Mat1 & Mat2,保存到 result(像素一和像素二都为1,则结果为1,否则为0)

 cv::bitwise_and(mat1, mat2, result);

逻辑或:Mat1 | Mat2,保存到 result(像素一和像素二都为0,则结果为0,否则为1)

 cv::bitwise_or(mat1, mat2, result);

逻辑非:~Mat1,保存到 result(像素为0,则结果为1,像素为1,则结果为0)

cv::bitwise_not(src, dst);

3.Android jni demo

#include <jni.h>
#include <string>
#include <android/bitmap.h>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <android/log.h>#define LOG_TAG "xxx"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)using namespace cv;
using namespace std;
extern "C"
JNIEXPORT void JNICALL
Java_com_example_myapplication_MainActivity_test(JNIEnv *env, jclass clazz) {Mat mat2 = (Mat_<int>(1, 5) << 1, 2, 3, 4, 5);Mat mat1 = (Mat_<int>(1, 5) << 4, 5, 6, 7, 8);Mat result(1,5,CV_8S);cv::add(mat1, mat2, result);//加法// cv::subtract(mat1, mat2, result);//减法//cv::multiply(mat1, mat2, result);//乘法//cv::divide(mat1, mat2, result);//除法// cv::bitwise_and(mat1, mat2, result);//与&// cv::bitwise_or(mat1, mat2, result);//或|//cv::bitwise_not(src, dst);//非~ostringstream ss;ss << "result data:" << std::endl;// 遍历并输出像素值for (int i = 0; i < result.rows; i++) {for (int j = 0; j < result.cols; j++) {// 获取像素值int value = result.at<int>(i, j);// 构建输出字符串ss <<value << " ";}ss << std::endl;}LOGD("%s",ss.str().c_str());
}

相关文章:

OpenCV(四):Mat支持的运算

目录 1.对两个 Mat 对象按元素进行运算&#xff0c;有加法、减法、乘法和除法等运算。 2.Mat类支持逻辑与、或、非等逻辑运算&#xff0c; 1.对两个 Mat 对象按元素进行运算&#xff0c;有加法、减法、乘法和除法等运算。 加法&#xff1a;Mat Mat&#xff0c;保存到 resul…...

WebRTC音视频通话-WebRTC推拉流过程中日志log输出

WebRTC音视频通话-WebRTC推拉流过程中日志log输出 之前实现iOS端调用ossrs服务实现推拉流流程。 推流&#xff1a;https://blog.csdn.net/gloryFlow/article/details/132262724 拉流&#xff1a;https://blog.csdn.net/gloryFlow/article/details/132417602 在推拉流过程中的…...

用Jmeter压测问题解决

最近做一个基于duboo服务的接口&#xff0c;需要进行稳定性测试。但是用Jmeter GUI 方式跑只能持续2个小时左右&#xff0c;Jmeter就崩溃了&#xff0c;日志报错&#xff1a;out of memory 解决方法如下&#xff1a; 直接运行jmeter的java包试试&#xff1a; 1、打开jmeter.…...

C语言:字符函数和字符串函数(一篇拿捏字符串函数!)

目录 求字符串长度&#xff1a; 1. strlen(字符串长度) 长度不受限制函数&#xff1a; 2. strcpy(字符串拷贝) 3. strcat(字符串追加) 4. strcmp(字符串比较) 长度受限制函数&#xff1a; 5. strncpy(字符串拷贝) 6. strncat(字符串追加) 7. strncmp(字符串比较) 字…...

问道管理:成交量买卖公式?

跟着股票商场的如火如荼&#xff0c;人们对于怎么解读和使用成交量进行股票生意的需求日积月累。成交量是指在某一特定时间内进行的股票生意的数量&#xff0c;它是投资者们研判商场状况和制定生意战略的重要指标之一。那么&#xff0c;是否存在一种最厉害的成交量生意公式呢&a…...

【MySQL】5、MySQL高阶语句

一、常用查询&#xff08;增、删、改、查&#xff09; 对 MySQL 数据库的查询&#xff0c;除了基本的查询外&#xff0c;有时候需要对查询的结果集进行处理。 例如只取 10 条数据、对查询结果进行排序或分组等等 模板表&#xff1a; 数据库有一张info表&#xff0c;记录了学生…...

【Linux】redhat7.8配置yum在线源【redhat7.8镜像容器内配置yum在线源】通用

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…...

强大的处理器和接口支持BL304ARM控制器

在智慧医疗领域&#xff0c;BL304可以用于实现医疗设备的智能化、远程监控和数据交换。在智慧电力领域&#xff0c;BL304可以帮助实现电网的智能化管理&#xff0c;提升电力供应的效率。在智慧安防领域&#xff0c;BL304可以实现智能监控、智能门锁等应用&#xff0c;保障安全。…...

react 基础知识(一)

1、 安装1 &#xff08;版本 react 18&#xff09; // 安装全局脚手架&#xff08;create-react-app基于webpackes6&#xff09; npm install -g create-react-app //使用脚手架搭建项目 create-react-app my-app // 打开目录 cd my-app // 运行项目 npm start2、初体验 impo…...

SpringBoot整合JUnit、MyBatis、SSM

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 SpringBoot整合 一、SpringBoot整合JUnit二、Spri…...

virtuoso61x中集成calibre

以virtuoso618为例&#xff0c;在搭建完电路、完成前仿工作之后绘制版图&#xff0c;版图绘制完成之后需要进行drc和lvs【仅对于学校内部通常的模拟后端流程而言】&#xff0c;一般采用mentor的calibre来完成drc和lvs。 服务器上安装有virtuoso和calibre&#xff0c;但是打开la…...

com.google.guava:guava 组件安全漏洞及健康分析

组件简介 维护者google组织许可证类型Apache-2.0首次发布2010 年 4 月 26 日最新发布时间2023 年 8 月 1 日GitHub Star48189GitHub Fork10716依赖包28,694依赖存储库219,576 Guava 是 Google 的一组核心 Java 库&#xff0c;其中包括新的集合类型&#xff08;例如 multimap 和…...

Hadoop服务脚本

#!/bin/bash process("NameNode" "SecondaryNameNode" "DataNode" "NodeManager" "ResourceManager") JAVA_HOME"/opt/software/jdk1.8.0_371" HADOOP_HOME"/opt/software/hadoop-3.3.6"# 定义颜色的AN…...

[QT]设置程序仅打开一个,再打开就唤醒已打开程序的窗口

需求&#xff1a;speedcrunch 这个软件是开源的计算器软件。配合launch类软件使用时&#xff0c;忘记关闭就经常很多窗口&#xff0c;强迫症&#xff0c;从网上搜索对版本进行了修改。 #include "gui/mainwindow.h"#include <QCoreApplication> #include <…...

数据库(二) Oracle篇

Oracle SQL常用函数 概述 SQL函数有单行函数和多行函数,其区别为&#xff1a; 单行&#xff1a;输入一行,返回一行,如字符、数字、转换、通用函数等多行&#xff1a;输入多行,返回一行,也称为分组函数、组函数、聚合函数,且多行函数会自动滤空 单行函数 字符函数 CONCAT(…...

TDengine函数大全-目录

TDengine函数大全 详情见具体页面&#xff0c;点击进入。 1.数学函数 ABSACOSASINATANCEILCOSFLOORLOGPOWROUNDSINSQRTTAN 2.字符串函数 CHAR_LENGTHCONCATCONCAT_WSLENGTHLOWERLTRIMRTRIMSUBSTRUPPER 3.转换函数 CAST TO_ISO8601TO_UNIXTIMESTAMPTO_JSON 4.时间和日期…...

代理模式之静态代理

代理模式是一种常见的设计模式&#xff0c;它允许一个对象&#xff08;代理对象&#xff09;代表另一个对象&#xff08;真实对象&#xff09;进行操作。在软件开发中&#xff0c;代理模式被广泛应用于各种场景&#xff0c;例如网络请求的代理、权限控制的代理等。 静态代理是…...

LeetCode——栈的压入、弹出序列

这里我用下面的例子子来讲解一下模拟栈的实现。 例子1&#xff1a;pushed [1,2,3,4,5] popped [4,5,3,2,1] 思路&#xff1a;第一步&#xff1a;我们先创建一个栈&#xff0c;然后将pushed的数据压进去 第二步&#xff1a;判断&#xff01; 当压入栈的数据和popped第一个数据…...

Flutter 逆向安全

前言&#xff1a; 前几天在 "学习" 一个项目&#xff0c; 发现是用 Flutter 开发的。之前研究过 flutter 的逆向&#xff0c;早期 Flutter 有工具可以通过快照进行反编译&#xff1a;《对照表如下》 新的版本开发者没有维护了。 目前没有很好的工具 可以对 Flutter 进…...

【微服务部署】01-Kubernetes部署流程

文章目录 部署1. Kubernetes是什么2. Kubernetes的优势3. 环境搭建4. 应用部署 部署 1. Kubernetes是什么 Kubernetes是一个用于自动部署、扩展和管理容器化应用程序的开源系统 2. Kubernetes的优势 自动化容器部署资源管理与容器调度服务注册发现与负载均衡内置配置与秘钥…...

独立开发者如何利用Taotoken的透明计费规避项目超支风险

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何利用Taotoken的透明计费规避项目超支风险 对于独立开发者而言&#xff0c;项目预算的控制是决定项目能否持续、健康…...

从零训练潮州话语音克隆模型:ElevenLabs Fine-tuning实战(附1782条标注语料清洗脚本)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;从零训练潮州话语音克隆模型&#xff1a;ElevenLabs Fine-tuning实战&#xff08;附1782条标注语料清洗脚本&#xff09; 语料准备与质量校验 潮州话语音克隆对数据一致性要求极高。我们采集并人工标注了178…...

DeepSeek-Coder-V2:如何用开源代码智能模型解决企业级开发痛点?

DeepSeek-Coder-V2&#xff1a;如何用开源代码智能模型解决企业级开发痛点&#xff1f; 【免费下载链接】DeepSeek-Coder-V2 DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence 项目地址: https://gitcode.com/GitHub_Trending/de/Deep…...

3分钟学会:用WinDiskWriter轻松为老旧电脑安装Windows 11系统

3分钟学会&#xff1a;用WinDiskWriter轻松为老旧电脑安装Windows 11系统 【免费下载链接】windiskwriter &#x1f5a5; Windows Bootable USB creator for macOS. &#x1f6e0; Patches Windows 11 to bypass TPM and Secure Boot requirements. &#x1f47e; UEFI & L…...

10分钟终极指南:使用Chronos时间序列预测模型快速上手

10分钟终极指南&#xff1a;使用Chronos时间序列预测模型快速上手 【免费下载链接】chronos-forecasting Chronos: Pretrained Models for Time Series Forecasting 项目地址: https://gitcode.com/GitHub_Trending/ch/chronos-forecasting 想要在几分钟内完成专业级的时…...

Test-Agent:企业级AI测试平台的战略价值与团队转型路径

Test-Agent&#xff1a;企业级AI测试平台的战略价值与团队转型路径 【免费下载链接】Test-Agent Agent that empowers software testing with LLMs; industrial-first in China 项目地址: https://gitcode.com/gh_mirrors/te/Test-Agent 在数字化转型浪潮中&#xff0c;…...

别再新建空文件了!手把手教你用CodeBlocks创建可调试的C/C++工程(避坑中文路径)

别再新建空文件了&#xff01;手把手教你用CodeBlocks创建可调试的C/C工程&#xff08;避坑中文路径&#xff09; 刚接触编程的新手常常会遇到这样的困惑&#xff1a;明明按照教程写好了代码&#xff0c;设置了断点&#xff0c;按下F7却毫无反应。这种挫败感往往源于一个被多数…...

OpCore-Simplify技术解构:自动化OpenCore EFI配置引擎的架构剖析

OpCore-Simplify技术解构&#xff1a;自动化OpenCore EFI配置引擎的架构剖析 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在开源系统定制领域&…...

网易520发布会公布40余款游戏动态,新品精品化+AI应用成趋势

网易520发布会&#xff1a;多款新品游戏崭露头角5月20日&#xff0c;2026年『网易游戏520线上发布会』盛大举办&#xff0c;公布了40余款游戏及IP的最新动态。其中&#xff0c;《遗忘之海》官宣将于5月22日开启三测前瞻直播&#xff0c;并于28日正式开启测试。这款游戏出自《第…...

ChromeKeePass终极指南:如何在Chrome浏览器中实现KeePass密码自动填充

ChromeKeePass终极指南&#xff1a;如何在Chrome浏览器中实现KeePass密码自动填充 【免费下载链接】ChromeKeePass Chrome extensions for automatically filling credentials from KeePass 项目地址: https://gitcode.com/gh_mirrors/ch/ChromeKeePass ChromeKeePass是…...