图像处理------调整色调

news2025/1/16 13:52:06

 什么是色调?

色调,在画面上表现思想、感情所使用的色彩和色彩的浓淡。分为暖色调和冷色调。

be77a7841a114e21bd1a333da369643f.png

from cv2 import destroyAllWindows, imread, imshow, waitKey

 #创建棕褐色色调
def make_sepia(img, factor: int):
    pixel_h, pixel_v = img.shape[0], img.shape[1]

    #创建像素的灰度表示
    def to_grayscale(blue, green, red):  
        return 0.2126 * red + 0.587 * green + 0.114 * blue

    #规范化 R/G/B 值,如果值> 255,则返回 255
    def normalize(value):
        return min(value, 255)

    for i in range(pixel_h):
        for j in range(pixel_v):
            greyscale = int(to_grayscale(*img[i][j]))
            img[i][j] = [
                normalize(greyscale),
                normalize(greyscale + factor),
                normalize(greyscale + 2 * factor),
            ]

    return img


if __name__ == "__main__":
    #读取原始图像
    images = {
        percentage: imread("image_data/test.jpg", 1) for percentage in (10, 20, 30, 40)
    }

    for percentage, img in images.items():
        make_sepia(img, percentage)

    for percentage, img in images.items():
        imshow(f"Original image with sepia (factor: {percentage})", img)

    waitKey(0)
    destroyAllWindows()

图像处理前:

03fa9fd851af4be8a1002f382b913077.jpeg

图像处理后:

05896f507af841f891ec579fb5c589d6.png

af2a9f85a3ac424ea1feb5e06f87076a.png

39ffa17af79247798712abb14992b421.png

b1512dbf7d3543de807fd7e18ceba8d0.png

31ffe3a7c3c84efbb9b0bcb69b7b42db.png

f5fc6e29b04e4ebfa8c2015ef8efe644.png

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1411016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vector OJ:电话号码组合 数组中超过一半的数字

目录 1.电话号码组合 2. JZ39 数组中出现次数超过一半的数字 3.删除有序数组中的重复项 1.电话号码组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同&#xf…

TensorFlow 深度学习 开发环境搭建 全教程

PyTorch 深度学习 开发环境搭建 全教程 TensorFlow 深度学习 开发环境搭建 全教程 1、指定清华源命令 -i https://pypi.tuna.tsinghua.edu.cn/simple2、conda安装 这是AI开发环境的全家桶,官网下载链接Anaconda | Start Coding Immediately 尽量不要选择太新版本…

勤哲 Excel 服务器2017 V13.0.144 最好用稳定版本,带注册,无限用户,含教程【亲测非常好用】

勤哲EXCEL 服务器 V13.0.144 无限用户 无限数据 非常好用 非常稳定。 Excel服务器是一个面向最终用户的信息系统设计工具与运行平台,它的作用是帮助我们“建立适合需要的管理信息系统,实现管理的信息化”。 谈到管理信息系统,人们很容易联想…

Java笔记(死锁、线程通信、单例模式)

一、死锁 1.概述 死锁 : 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法往下执行。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进…

前端面试题-js-new关键字-this指向-js事件流-防抖节流

前端面试题-js-new关键字-this指向-js事件流-防抖节流 new 关键字都做了什么 this指向问题JS事件流防抖节流函数 new 关键字都做了什么 this指向问题 1.创建一个简单的空对象 2.原型的绑定,确定对象O的原型链 3.绑定this对象为O,传入参数;执…

深入理解旅游网站开发:Java+SpringBoot+Vue+MySQL的实战经验

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

RocketMQ源码阅读-九-自定义过滤规则Flitersrv

RocketMQ源码阅读-九-自定义过滤规则Flitersrv 什么是FiltersrvFiltersrv注册到Broker过滤类Consumer发起订阅设置过滤类代码Consumer上传过滤类代码Flitersrv编译过滤类代码 过滤消息Consumer 从 Filtersrv 拉取消息Flitersrv从Broker拉取消息 Flitersrv的高可用总结 什么是Fi…

电容主要特点和作用,不同类型的电容区别

电容 两个相互靠近的金属板中间夹一层绝缘介质组成的器件,当两端存在电势差时,由于介质阻碍了电荷移动而累积在金属板上,衡量金属板上储存电荷的能力称之为电容,相应的器件称为电容器。 电容(Capacitance&#xff09…

PyTorch 中的nn.Conv2d 类

nn.Conv2d 是 PyTorch 中的一个类,代表二维卷积层(2D Convolution Layer)。这个类广泛用于构建卷积神经网络(CNN),特别是在处理图像数据时。 基本概念 卷积: 在神经网络的上下文中,卷积是一种特…

关于mysql默认禁用本地数据加载的情况处理(秒解决)

1.首先报错信息:ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides 2.排查问题: 先检查local_infile的状态:使用sql指令 show global variables like local_infile; 这种情…

Keycloak - docker 运行 前端集成

Keycloak - docker 运行 & 前端集成 这里的记录主要是跟我们的项目相关的一些本地运行/测试,云端用的 keycloak 版本不一样,不过本地我能找到的最简单的配置是这样的 docker 配置 & 运行 keycloak keycloak 有官方(Red Hat Inc.)的镜像&#…

如何在ubuntu22.04安装ROS2

ubuntu22.04安装ROS2 教程 选择对应版本进行安装设置编码添加源安装ROS2设置环境变量 运行ROS2 选择对应版本 通过官方网站,查询Ubuntu与ros对应的版本,版本不一致也会出现安装不成功。 https://wiki.ros.org/ROS/Installation 每一个都可以进行点击&a…

Windows10上使Git Bash支持rsync命令操作步骤

rsync命令是linux上常用的工具之一,用于远程以及本地系统中拷贝/同步文件和文件夹。 Windows Git Bash默认并不支持rsync,如下图所示: 使Git Bash支持rsync命令操作步骤: 1.从https://repo.msys2.org/msys/x86_64/ 下…

flutter-相关个人记录

1、flutter 安卓打包打包报错 flutter build apk -v --no-tree-shake-icons 2、获取华为指纹证书命令 keytool -list -v -keystore ***.jks 3、IOS项目中私有方法查找隐藏文件中 1、cd 项目目录地址 2、grep -r xerbla. "xerbla"为需要查找的关键字 3…

在IDEA中创建SpringBoot项目

概述 SpringBoot是由Pivotal团队提供的全新的框架,其设计的目的是用来简化Spring应用的初始搭建以及开发过程。 传统方式构建Spring应用程序 导入依赖繁琐 依赖冲突 项目配置繁琐 SpringBoot特性 1、起步依赖 本质上就行一个Maven坐标,整合了完成一…

RockChip DRM Display Driver

资料来源: 《Rockchip_DRM_Display_Driver_Development_Guide_V1.0.pdf》 《Rockchip_Developer_Guide_DRM_Display_Driver_CN.pdf》 一:DRM概述 DRM(Direct Rendering Manager)直接渲染管理,buffer分配,帧缓冲。对应userspace库位libdrm,libdrm库提供了一系列友好的…

【NeRF】了解学习Neural Radiance Fields(神经辐射场)

文章目录 1.Definition of field(场的定义)1.1 shape representations(各种形状表征方式)1.2 Explicit surfaces and implicit surfaces1.3 Radiance Field(Implicit Surfaces)体素密度 2.Definition of Rendering(渲染…

项目解决方案:非执法视频监控系统项目设计方案

目 录 一、概述 (一)前言 (二)设计思路 (三)设计原则 1、实用性 2、可靠性 3、安全性 4、先进性 5、开放性 6、易管理、易维护 (四)设计依据 二、方案总…

数据可视化的未来:2024 年及以后_光点科技

随着我们进入数据驱动决策的下一个时代,数据可视化领域即将迎来一场变革性革命。随着信息的不断涌入和数据的复杂性不断增加,传统的可视化方法需要帮助跟上步伐。人工智能、机器学习和增强现实等新兴技术正在为新一代实时数据可视化工具铺平道路&#xf…

C语言-算法-线性dp

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 →…