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

图层混合模式(三)

差值模式

        差值模式:查看每个通道的数值,用基色减去混合色或用混合色减去基色。具体取决于混合色与基色那个通道的数值更大。白色与任何颜色混合得到反相色,黑色与任何颜色混合颜色不变。
计算公式:结果色 = 绝对值(混合色 - 基色)。

void layerblend_difference(Mat &base,Mat &blend,Mat &dst)
{if (base.rows != blend.rows ||base.cols != blend.cols ||base.type() != blend.type())return;dst = Mat::zeros(base.rows,base.cols,base.type());for (int h = 0;h < base.rows;h ++){uchar *d1 = base.ptr<uchar>(h);uchar *d2 = blend.ptr<uchar>(h);uchar *d3 = dst.ptr<uchar>(h);for (int w = 0;w < base.cols;w ++){int cw = w * base.channels();for (int c = 0;c < base.channels();c ++){int res = 0;res = abs(d2[cw + c] - d1[cw + c]);d3[cw + c] = saturate_cast<uchar>(res);}}}
}

排除模式

        排除模式是跟差值模式非常类似的混合模式,只是排除模式的结果色对比度没有差值模式强。白色与基色混合得到基色补色,黑色与基色混合得到基色。
计算公式:结果色 = (混合色 + 基色) - 混合色 * 基色 / 128。

void layerblend_exclude(Mat &base,Mat &blend,Mat &dst)
{if (base.rows != blend.rows ||base.cols != blend.cols ||base.type() != blend.type())return;dst = Mat::zeros(base.rows,base.cols,base.type());for (int h = 0;h < base.rows;h ++){uchar *d1 = base.ptr<uchar>(h);uchar *d2 = blend.ptr<uchar>(h);uchar *d3 = dst.ptr<uchar>(h);for (int w = 0;w < base.cols;w ++){int cw = w * base.channels();for (int c = 0;c < base.channels();c ++){int res = 0;res = (d2[cw + c] + d1[cw + c]) - d2[cw + c] * d1[cw + c] / 128.0f;d3[cw + c] = saturate_cast<uchar>(res);}}}
}

减去模式

        减去模式:查看各通道的颜色信息,并从基色中减去混合色。如果出现负数就剪切为零;与基色相同的颜色混合得到黑色;白色与基色混合得到黑色;黑色与基色混合得到基色。
计算公式:
结果色 = 基色 - 混合色。

划分模式

        查看每个通道的颜色信息,并用基色分割混合色。基色数值大于或等于混合色数值,混合出的颜色为白色。基色数值小于混合色,结果色比基色更暗。因此结果色对比非常强。白色与基色混合得到基色,黑色与基色混合得到白色。
计算公式:
结果色 = (基色 / 混合色) * 255。

色相模式

        色相混合模式:结果色保留混合色的色相,饱和度及明度数值保留明度数值。这里用到的色相、饱和度、明度也是一种颜色模式,也称作:HSB模式。色相代表颜色的颜色相貌,也就是我们看到的红、绿、蓝等;饱和度是颜色的饱和程度,也就是鲜艳度;明度是颜色的明暗程度。其中黑色、灰色、白色是没有颜色和饱和度的,也就是相关数值为0。

饱和度模式

        饱和度模式是用混合色的饱和度以及基色的色相和明度创建结果色。我们都知道饱和度只控制颜色的鲜艳程度,因此混合色只改变图片的鲜艳度,不能影响颜色。黑、白、灰除外,因为这些颜色的饱和度为0,混合后只能产生一种灰色效果。

颜色模式

        颜色模式是用混合色的色相,饱和度以及基色的明度创建结果色。这种模式下混合色控制真个画面的颜色,是黑白图片上色的绝佳模式,因为这种模式下会保留基色图片也就是黑白图片的明度度。黑、白、会与基色混合会产生相同的灰色效果,因为这三种颜色的色相,饱和度都是0。

明度模式

        明度混合模式是利用混合色的明度以及基色的色相与饱和度创建结果色。她跟颜色模式刚好相反,因此混合色图片只能影响图片的明暗度,不能对基色的颜色产生影响,黑、白、灰除外。黑色与基色混合得到黑色;白色与基色混合得到白色;灰色与基色混合得到明暗不同的基色。

去色公式

        每个像素RGB的最大值和最小值和的一半,作为最后值输出。

相关文章:

图层混合模式(三)

差值模式 差值模式&#xff1a;查看每个通道的数值&#xff0c;用基色减去混合色或用混合色减去基色。具体取决于混合色与基色那个通道的数值更大。白色与任何颜色混合得到反相色&#xff0c;黑色与任何颜色混合颜色不变。 计算公式&#xff1a;结果色 绝对值&#xff08;混合…...

蓝牙核心规范(V5.4)10.6-BLE 入门笔记之L2CAP

蓝牙篇之蓝牙核心规范(V5.4)深入详解汇总 1.概述 L2CAP负责协议复用、流量控制、服务数据单元(SDU)的分段和重组。它使用通道的概念来分隔在堆栈层之间传递的数据包序列。固定通道不需要设置,立即可用,并与特定的上层协议相关联。通道也可以通过指定的协议服务多路复用器…...

【计算机网络】DNS原理介绍

文章目录 DNS提供的服务DNS的工作机理DNS查询过程DNS缓存 DNS记录和报文DNS记录DNS报文针对DNS服务的攻击 DNS提供的服务 DNS&#xff0c;即域名系统(Domain Name System) 提供的服务 一种实现从主机名到IP地址转换的目录服务&#xff0c;为Internet上的用户应用程序以及其他…...

Docker的基础命令

目录 一、镜像操作 1、搜索镜像 2、下载镜像 3、查看镜像 3.1 查看下载到本地的所有镜像 3.2 查看单个镜像的详细信息 4、为镜像添加新的标签 5、镜像导出和导入到本地 5.1 镜像导出到本地 5.2 导入镜像 6、删除镜像 7、批量删除镜像 8、上传镜像 8.1 官网注册登录…...

提取项目依赖包的licenses

skywalking-eyes工具可以快速提取出licenses...

Vue项目自动转换px为rem-高保真还原设计图

前端开发中还原设计图的重要性毋庸置疑&#xff0c;目前来说应用最多的应该也还是使用rem。然而很多人依然还是处于刀耕火种的时代&#xff0c;要么自己去计算rem值&#xff0c;要么依靠编辑器安装插件转换。 而本文的目标就是通过一系列的配置后&#xff0c;在开发中可以直接使…...

rman备份到远程服务器

rman备份到远程服务器磁盘 原因 业务数据量较大&#xff0c;数据库服务器上无足够地空间存放rman备份&#xff0c;磁盘扩容申请不批。无奈采取nfs远程备份 环境信息 ip操作系统备份目录远程备份服务器192.168.3.130Centos7.9rmanbak数据库服务器192.168.3.132:1521Centos7.…...

数据结构与算法

目录 数据结构与算法 为什么要学习数据结构和算法&#xff1f; 常见的数据结构 常用算法 插入排序 一、概念及其介绍 二、适用说明 三、过程图示 希尔排序 一、概念及其介绍 二、适用说明 三、过程图示 归并排序 一、概念及其介绍 二、适用说明 三、过程图示 …...

【Web3】DAO相关的基础知识

这里写目录标题 DAO 的基础概念为什么需要 DAO&#xff1f;DAO 的种类 DAO 的运作方式知名 DAO 的介绍Bankless DAOSeeDAO DAO 的生态全景图分类治理框架DAO 的工具 DAO 众筹平台介绍 - JuiceBoxDAO 投票治理介绍 - SnapshotDAO 贡献 & 激励 - POAPDAO 信息管理 - NotionDA…...

一文教你学会ArcGIS Pro地图设计与制图系列全流程(3)

ArcGIS Pro做的成果图及系列文章目录&#xff1a; 系列文章全集&#xff1a; 《一文教你学会ArcGIS Pro地图设计与制图系列全流程&#xff08;1&#xff09;》《一文教你学会ArcGIS Pro地图设计与制图系列全流程&#xff08;2&#xff09;》《一文教你学会ArcGIS Pro地图设计与…...

用于大规模 MIMO 检测的近似消息传递 (AMP)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

复杂SQL解析

文章目录 背景表SQL关键字分析具体Sql注意点补充&#xff1a;select的字段&#xff0c;也可以带有计算逻辑 背景表 1、sale_log as result: 主表&#xff0c;大部分字段都是取自这个表 2、sale_num as sale&#xff1a;需要从这个表获取真实销量sale_num字段 3、schedule as…...

js中哪些地方会用到window?

前言 Window 对象是JavaScript中的顶层对象&#xff0c;它代表了浏览器中打开的窗口或者标签页。浏览器中打开的每一个窗口/标签页都会有一个对应的 Window 对象。在浏览器中&#xff0c;全局作用域的 this 就是指向 Window 对象。 正文 在 JavaScript 中&#xff0c;window 对…...

KITTI raw_data数据集百度云下载

1. 百度云链接 链接:https://pan.baidu.com/s/1YNzfDoJomKOZhlVUr2eEOA?pwdtfh3 提取码&#xff1a;tfh3 –来自百度网盘超级会员V6的分享 2. 资料来源 https://www.cvlibs.net/datasets/kitti/raw_data.php 命令行执行./raw_data_downloader.sh #!/bin/bashfiles(2011_…...

(3) OpenCV图像处理kNN近邻算法

目录 一、介绍 1、类通过Matplotlib显示 2、Matplotlib显示效果 二、通过KNN近邻对新成员进行分类例程...

手撸RPC【gw-rpc】

文章目录 基于 Netty 的简易版 RPC需求分析简易RPC框架的整体实现协议模块 &#x1f4d6;自定义协议 &#x1f195;序列化方式 &#x1f522; 服务工厂 &#x1f3ed;服务调用方 ❓前置知识——动态代理&#x1f573;️Proxy类InvocationHandler 接口 RPC服务代理类内嵌Netty客…...

【Linux】:Kafka组件介绍

目录 环境简介 一、消息 二、主题 三、分区 四、副本 五、生产者 六、消费者 七、消费者组 八、offsets【偏移量】 环境简介 Linux内核&#xff1a;Centos7 Kafka版本&#xff1a;3.5.1 执行命令的目录位置&#xff1a;Kafka安装目录的bin目录下&#xff1a;/usr/loca…...

Redis〔篇〕

redis怎么做到双写一致性呢&#xff1f; 这个是要分情况的 业务要是对一致性要求不是很高的话可以使用延时双删&#xff0c;要强一致的话需要双写一致性。 Redis数据持久化&#xff1f; redis是有两种数据持久化方式的&#xff0c;一种RDB一种AOF rdb是redis数据快照&#x…...

龙芯2K1000核心板在智能座舱行业产品方案-迅为电子

迅为2K1000核心板是一款高性能的处理器&#xff0c;适用于智能座舱行业。它具备多核CPU、高级图像处理和丰富的接口选项&#xff0c;可用于开发先进的智能座舱解决方案&#xff0c;提高乘坐体验、安全性和便捷性。以下是2K1000处理器在智能座舱行业中的产品方案。 高清晰度显…...

2023/9/20 -- C++/QT

时钟: widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPainter> #include <QPaintEvent> #include <QDateTime> #include <QLabel> #include <QTimer> #include <QDebug>QT_BEGIN_NAMESPACE namespac…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...