You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将图像颜色翻转至光谱对侧的等效颜色

图像光谱对侧颜色翻转实现方法

你描述的这类效果通常分为两种常见实现逻辑,可根据需求选择:

核心实现逻辑

  • 全色反色(负片效果):对应你提到的白变黑、黑变白的效果,实现逻辑是对8位深度图像的RGB三个通道像素值单独取反,计算公式为 新像素值 = 255 - 原像素值。这种翻转会同步改变颜色和明度,比如浅灰会变为深灰,亮红色会变为暗青色。
  • 色相补色翻转(保留明度):对应你提到的蓝变黄、红变青、绿变品红这类光谱对侧等效色效果,不会改变图像明暗程度。实现逻辑是将图像从RGB色彩空间转换到HSV/HSB色彩空间,仅对色相(Hue)通道做180度偏移,再转换回RGB空间即可。

常用工具操作步骤

Photoshop/GIMP类图像编辑软件

  • 普通反色:直接按快捷键 Ctrl+I(Windows)/ Cmd+I(Mac)即可一键完成
  • 补色翻转:
    1. 新建「色相/饱和度」调整图层
    2. 把色相滑块直接拖动到+180或者-180的位置即可生效

Python代码实现

普通反色(基于OpenCV)

import cv2
import numpy as np

img = cv2.imread("input.jpg")
inverted_img = 255 - img
cv2.imwrite("inverted_output.jpg", inverted_img)

补色翻转(基于OpenCV)

import cv2
import numpy as np

img = cv2.imread("input.jpg")
# 转换到HSV色彩空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# OpenCV的H通道范围为0-179,加90等价于色相偏移180度
hsv[..., 0] = (hsv[..., 0] + 90) % 180
# 转回RGB空间输出
complementary_img = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
cv2.imwrite("complementary_output.jpg", complementary_img)

注意:如果图像带Alpha透明通道,操作时不要修改Alpha通道数值,避免透明效果丢失。

内容的提问来源于stack exchange,提问作者Hopeless

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:21:02