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

OpenCV:实现图像的负片

负片

负片是摄影中会经常接触到的一个词语,在最早的胶卷照片冲印中是指经曝光和显影加工后得到的影像。负片操作在很多图像处理软件中也叫反色,其明暗与原图像相反,其色彩则为原图像的补色。例如,颜色值A与颜色值B互为补色,二者数值的和为255,即RGB图像中的某点颜色为(0,0,255),则其补色为(255,255,0)。

由于负片的操作过程比较简单,OpenCV并没有单独封装负片函数。所以需要自己实现一下,实现起来也非常简单,步骤如下:

  • 需要将一张图片拆分为各个颜色通道矩阵
  • 然后分别对每一个颜色通道矩阵进行处理
  • 最后再将其重新组合为一张图片

原始图片如下:

在这里插入图片描述

示例代码如下:

import cv2
import numpy as np# 读入图片
img = cv2.imread('input_file.png')# 获取高度和宽度
height = img.shape[0]
width = img.shape[1]# 生成一个空的相同尺寸的图像
negative_file = np.zeros((height, width, 3))# 拆分三通道,注意顺序
b, g, r = cv2.split(img)# 进行负片处理,求每个通道颜色的补色
r = 255 - r
b = 255 - b
g = 255 - g# 将处理后的结果赋值到前面生成的三维张量
negative_file[:, :, 0] = b
negative_file[:, :, 1] = g
negative_file[:, :, 2] = r# 将生成的图片保存起来
cv2.imwrite('negative_file.jpg', negative_file)

在这里插入图片描述

总结

负片是一种特殊的照片处理方式,它是在胶片摄影时代流行的一种技术,现在在数字图像处理中也有应用。

负片是一种颜色和亮度被反转的图像,即图像中原本暗的地方会变成亮的,原本亮的地方会变成暗的,同时图像的色彩也会反转。这种效果可以通过在数字图像处理软件中对图像进行“反相”处理来实现。

在数字摄影中,负片的应用很广泛。例如,许多摄影师会使用负片效果来创造一种特殊的艺术效果,或者用于照片的后期处理。此外,负片还可以用于图像增强,特别是在需要突出某些细节的情况下,例如在医学图像处理中。

总的来说,负片是一种非常有趣和实用的特殊照片处理方式,它可以帮助您创造出独特的艺术效果,并且在图像增强和后期处理方面也具有很大的潜力。

http://www.lryc.cn/news/154547.html

相关文章:

  • HZOJ#237. 递归实现排列型枚举
  • C++ PIMPL 编程技巧
  • 一个通用的EXCEL生成下载方法
  • 介绍 TensorFlow 的基本概念和使用场景。
  • 【力扣】304. 二维区域和检索 - 矩阵不可变 <二维前缀和>
  • 线上问诊:数仓开发(三)
  • 微信小程序 通过响应式数据控制元素class属性
  • linux并发服务器 —— linux网络编程(七)
  • Java后端开发面试题——企业场景篇
  • TiDB x 安能物流丨打造一栈式物流数据平台
  • 负载均衡算法实现
  • Flutter 完美的验证码输入框 转载
  • SpringBoot整合Jpa实现增删改查功能(提供Gitee源码)
  • 微服务[Nacos]
  • 8K视频来了,8K 视频编辑的最低系统要求
  • AsyncContext优雅实现HTTP长轮询接口
  • 如何制作一个百货小程序
  • 【人工智能】—局部搜索算法、爬山法、模拟退火、局部剪枝、遗传算法
  • MATLAB旋转动图的绘制
  • 算法笔记 近似最近邻查找(Approximate Nearest Neighbor Search,ANN)
  • uni-app 之 vue语法
  • Android之RecyclerView仿ViewPage滑动
  • 【owt-server】AudioSendAdapter分析
  • day33 List接口
  • 云原生周刊:Linkerd 发布 v2.14 | 2023.9.4
  • CS420 课程笔记 P5 - 内存编辑 数据类型
  • oracle报错 ORA-02290: 违反检查约束条件问题
  • Prometheus + grafana 的监控平台部署
  • npm、yarn、pnpm
  • 力扣|两数相加