opencv_5_图像像素的算术操作

news/2024/5/4 4:26:38

方法1:调用库函数

void ColorInvert::mat_operator(Mat& image)
{
    Mat dst;
    Mat m = Mat::zeros(image.size(), image.type());
    m = Scalar(2, 2, 2);
    multiply(image, m, dst);

    m1 = Scalar(50,50, 50);
    //divide(image, m, dst); 

    //add(image, m1, dst); 

    //subtract(image, m1, dst);   
    namedWindow("加法操作", WINDOW_FREERATIO);
    imshow("加法操作", dst);

}

方法2:自己给三维数据赋值

void ColorInvert::mat_operator(Mat& image)

{  

    Mat dst = Mat::zeros(image.size(), image.type()); 
    m = Scalar(50, 50, 50);
    //namedWindow("加法操作", WINDOW_FREERATIO);
    int w = image.cols;
    int h = image.rows;
    int dims = image.channels();
    for (int row = 0; row < h; row++)
    {
        for (int col = 0; col < w; col++)
        {
            Vec3b p1 = image.at<Vec3b>(row,col);
            Vec3b p2 = m.at<Vec3b>(row, col);
            dst.at<Vec3b>(row, col)[0] = saturate_cast<uchar>(p1[0]+  p2[0]);  //saturate_cast 小于0,赋值为0,大于255,赋值为255。
            dst.at<Vec3b>(row, col)[1] = saturate_cast<uchar>(p1[1] + p2[1]);
            dst.at<Vec3b>(row, col)[2] = saturate_cast<uchar>(p1[2] + p2[2]);
        }
    }

}


http://www.mrgr.cn/p/00214773

相关文章

Java中的static关键字解析

一.static关键字的用途二.static关键字的误区三.常见的笔试面试题 一.static关键字的用途在《Java编程思想》P86页有这样一段话:“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来…

如何在PostgreSQL中创建一个新的数据库,并指定所有者?

文章目录 解决方案示例代码 PostgreSQL是一个强大的开源关系型数据库管理系统&#xff0c;它允许用户创建和管理多个数据库。在PostgreSQL中创建一个新的数据库并指定所有者是一个常见的操作。下面&#xff0c;我们将详细解释如何执行这一操作&#xff0c;并提供示例代码。 解…

apache poi 实现下拉框级联

场景需求 最近在项目中遇到个需求,需要提供一个批量导入的功能,常规做法就是提交excel模版文件,然后就是解析该文件读取数据,这时的模版文件在用户输入方面是没有限制的,用户输入啥就是啥,后台在解析的时候对值进行判断数据是否合法; 在现有的业务场景下,是可以进一步限…

使用 Docker 部署 TailChat 开源即时通讯平台

1)介绍 TailChat 官网: https://tailchat.msgbyte.com/ 作者:https://www.moonrailgun.com/about/ GitHub : https://github.com/msgbyte/tailchatTailChat 是一款插件化易拓展的开源 IM 应用。可拓展架构赋予 Tailchat 无限可能性。前端微内核架构 + 后端微服务架构。使得…

国际收支平衡表的分析要点有哪些

国际收支统计是国民经济综合平衡必不可少的一个环节&#xff0c;国际收支的顺差或逆差可以弥补国内投资和消费与国内生产总值间的缺口&#xff0c;国际收支状况可影响国内信贷平衡&#xff0c;对金融调控至关重要。良好的国际收支统计信息是制定正确的对外经济政策的基础。 一…

Spring的过滤器、拦截器、切面区别及案例分析

Spring的过滤器、拦截器、切面 三者的区别&#xff0c;以及对应案例分析 一、三者的实现方式 1.1 过滤器 xxxFilter 过滤器的配置比较简单&#xff0c;直接实现Filter接口即可&#xff0c;也可以通过WebFilter注解实现对特定URL的拦截&#xff0c;Filter接口中定义了三个方法…

Linux中inode号与日志分析

一.inode号 1.inode表结构 元信息&#xff1a;每个文件的属性信息&#xff0c;比如&#xff1a;文件的大小&#xff0c;时间&#xff0c;类型&#xff0c;权限等&#xff0c;称为文件的元数据(meta data 元信息 ) 元数据是存放在inode&#xff08;index node&#xff09;表中…

2024天梯赛【搜索】

吉利矩阵 题目大意dfs思路搜索策略:每一行每一行的搜索,(1,1)->(1,2)->...->(1,n)->(2,1)->...(n,n) 剪枝策略:记录每一行与每一列的总和,sumRow,sumCol,接下来要填的数要小于等于 l - sumRow[x] 与 l - sumCol[y],如果当前行填完了,要判断当前行sumRow…

table固定表头和列 css实现表格固定表头

Hello,大家好,我是站长鹏仔,本次鹏仔开发的项目中,实现出功能如图所示,固定表格的头部和左侧,在超出时滚动条滚动悬浮,之前给大家写过一次表格表头固定,是用占位的方式(https://www.sharedbk.com/post/178.html),太麻烦了,本次给大家分享一个更简单的方法。本次主要…

酷瓜云课堂(内网版)v1.1.3 发布,局域网在线学习系统

更新内容 增加试题挑错功能增加图文和试卷背景水印增加删除和还原用户功能修复答案列表问题标题修改后台页用户链接优化待阅试卷优化uploadTempFile临时文件上传优化CategoryTreeListBuilder优化ArticleUserTrait,CourseUserTrait,PaperUserTrait还原误删的QuestionXmCategori…

Redis入门到通关之数据结构解析-动态字符串SDS

文章目录 Redis数据结构-动态字符串动态扩容举例二进制安全SDS优点与C语言中的字符串的区别 欢迎来到 请回答1024 的博客 &#x1f353;&#x1f353;&#x1f353;欢迎来到 请回答1024的博客 关于博主&#xff1a; 我是 请回答1024&#xff0c;一个追求数学与计算的边界、时间…

连接器电镀小课堂系列三 | 打底电镀、基体金属、润滑、电压

【摘要/前言】 电镀会影响连接器系统的寿命和质量&#xff0c;包括耐腐蚀性、导电性、可焊性&#xff0c;当然还有成本。 【小课堂背景】 这是 Samtec质量工程经理 Phil Eckert 和首席工程师 Matt Brown 讨论连接器电镀相关问题的系列第三部分&#xff0c;主题为 “打底电镀、…

C/C++ 入门(7)string类(STL)

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;C 请多多指教&#xff01; 目录 一、标准库中的string 1、了解 2、string类常用接口说明 1、常见的构造函数 2、容量操作 ​编辑 3、访问及遍历操作 4、修改操作 5、非成员函数 二、string类实现 …

Error: --recode does not support multipass recoding of very large files.

001、问题 Error: --recode does not support multipass recoding of very large files.(base) [root@pc1 test01]# plink --bfile f1 --sheep --recode tab --out test ## 使用命令 002、问题原因,内存过小003、测试[root@pc1 test01]# ls f1.bed f1.bim f1.fam [r…

sh005基于springboot的景区订票系统【带LW文档】

介绍 基于springboot的景区订票系统管理员功能主要包括:个人中心、景点类型管理、公告类型管理、景点信息管理、公告信息管理、论坛管理、用户 信息管理、轮播图管理、景点留言管理、景点收藏管理、景点预定管理等功能。 由于本系统的功能模块设计比较全面,所以使得整个基于s…

Barnes-Hut t-SNE:大规模数据的高效降维算法

在数据科学和分析中,理解高维数据集中的底层模式是至关重要的。t-SNE已成为高维数据可视化的有力工具。它通过将数据投射到一个较低维度的空间,提供了对数据结构的详细洞察。但是随着数据集的增长,标准的t-SNE算法在计算有些困难,所以发展出了Barnes-Hut t-SNE这个改进算法…

面试不会算法和数据结构,经典面试题讲解来了!

随着春招季节的临近,面试备战成为许多求职者的痛点。如何在激烈的竞争中脱颖而出,成为众多求职者思考的问题。学习Python编程与算法内容,成为面试开发、测试开发等热门岗位的基础。 为了帮助大家更好地应对技术类面试挑战,霍格沃兹测试开发学社打造了Python编程和算法公开课…

anolis8.9

anolis8.9https://mirrors.openanolis.cn/anolis/8.9/isos/GA/安装界面进入界面作者:独木桥 出处:http://xiaochina.cnblogs.com/ 版权: 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,否则保留追究法律责任的权利!

多个路由器连接的PC端进行ping通信需要做的事

实验环境&#xff1a; 三台PC三台路由器&#xff0c;并且配置好IP 拓扑图&#xff1a; 需求描述&#xff1a; 在PC0进行与PC2的ping通信&#xff1a; 需求步骤&#xff1a; 1.1首先配置ip&#xff08;略过&#xff09; 1.2我们首先查看在只配置了IP的情况下&#xff0c;P…

JavaScript作用域

一&#xff0c;作用域 就是代码名字&#xff08;变量&#xff09;在某个范围起作用和效果 1.全局作用域 整个script标签 &#xff0c;或一个js文件 2.局部作用域&#xff08;函数作用域&#xff09; 这个名字只在函数内部起作用和效果 二&#xff0c;变量作用域 1.全局变…