OpenCV图像颜色反转算法详解

yipeiwu_com7年前Python基础

前言

图像颜色的反转,比较简单的思路就是使用255减去当前值,从而得到反转后的图像.原始图片:

1.灰度图像的颜色反转

import cv2
import numpy as np

# 灰度 0-255 255-当前灰度值
img = cv2.imread('image0.jpg', 1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

dst = np.zeros((height, width, 1), np.uint8)

for i in range(height):
  for j in range(width):
    grayPixel = 255 - gray[i, j]
    dst[i, j] = grayPixel

cv2.imshow('image', dst)
cv2.waitKey(0)

用255减去当前灰度值,得到反转后的图像.图像如下:

2.BGR图像的反转

import cv2
import numpy as np

img = cv2.imread('image0.jpg', 1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]

dst = np.zeros((height, width, 3), np.uint8)

for i in range(height):
  for j in range(width):
    (b, g, r) = img[i, j]
    b = 255 - b
    g = 255 - g
    r = 255 - r
    dst[i, j] = (b, g, r)


cv2.imshow('image', dst)
cv2.waitKey(0)

BGR图像反转也是一样,同样是使用255减去每一个通道的当前值.效果如下:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django MEDIA的配置及用法详解

Django MEDIA的配置及用法详解

如果需要在数据库中存储图片或视频类的数据,我们可以配置MEDIA. 下面的示例将以上传一张图片的形式来说明MEDIA的配置及用法. 第一步 settings.py # media配置...

python如何获取列表中每个元素的下标位置

Git是编程中的基本技能之一,互联网公司几乎都在使用Git进行协作编程,昨天还有位禅友在微信上专门告诉我说星期五面试的时候刚好被问到 Git,幸好在这几天学了一下。Git并不难,但会Gi...

Python+Django在windows下的开发环境配置图解

Python+Django在windows下的开发环境配置图解

1         安装配置开发环境 1.1   准备安装 下载以下软件 Eclipse for...

简单了解python PEP的一些知识

简单了解python PEP的一些知识

前言 或许你是一个初入门Python的小白,完全不知道PEP是什么。又或许你是个学会了Python的熟手,见过几个PEP,却不知道这玩意背后是什么。那正好,本文将系统性地介绍一下PEP,...

Python+selenium 获取浏览器窗口坐标、句柄的方法

1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐标和大小(长宽),但出现”Command n...