zoukankan      html  css  js  c++  java
  • 4-5 颜色反转

    #0-255 灰度图片的取值范围  颜色反转就是255-当前的灰度值
    import cv2
    import numpy as np
    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,3),np.uint8)#深度deep=3 如果我们想进行灰度图片的话,可以把3改成1
    #表明我们1个像素只有1种颜色来构成 np.uint8定义一个无符号int类型
    for i in range(0,height):# for循环遍历图片中的每一个元素
        for j in range(0,width):
            grayPixel = gray[i,j]#定义一个像素 这个像素就是我们当前的每一个灰度值
            dst[i,j] = 255-grayPixel
    cv2.imshow('dst',dst)
    cv2.waitKey(0)

    #0-255 灰度图片的取值范围  颜色反转就是255-当前的灰度值
    import cv2
    import numpy as np
    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)#深度deep=3 如果我们想进行灰度图片的话,可以把3改成1
    #表明我们1个像素只有1种颜色来构成 np.uint8定义一个无符号int类型
    for i in range(0,height):# for循环遍历图片中的每一个元素
        for j in range(0,width):
            grayPixel = gray[i,j]#定义一个像素 这个像素就是我们当前的每一个灰度值
            dst[i,j] = 255-grayPixel
    cv2.imshow('dst',dst)
    cv2.waitKey(0)

    这一行是彩色图片的灰度处理,我们不需要进行灰度处理,我们需要处理的就是彩色图片。

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

    这是彩色图片的颜色反转,有点类似于我们照相机上的底板效果。分成两种:灰度图像的颜色反转和彩色图像的颜色反转。二者都是用当前的最大值减去当前的像素值。

    #RGB 255-R=newR
    #0-255 灰度图片的取值范围  颜色反转就是255-当前的灰度值
    import cv2
    import numpy as np
    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,3),np.uint8)#深度deep=3 如果我们想进行灰度图片的话,可以把3改成1
    #表明1个像素值是由3个颜色来进行组成的 np.uint8定义一个无符号int类型
    for i in range(0,height):# for循环遍历图片中的每一个元素
        for j in range(0,width):
            (b,g,r) = img[i,j]#定义一个像素 这个像素就是我们当前的每一个灰度值 彩色图片的数据放到img中
            dst[i,j] = (255-b,255-g,255-r)#颜色读取进来之后,我们可以以元组的形式把数据装载进去
    cv2.imshow('dst',dst)
    cv2.waitKey(0)
  • 相关阅读:
    CentOS下MySQL忘记root密码解决方法【转载】
    Linux给用户添加sudo权限
    C++11 std::chrono库详解
    npm install Error:EPROTO: protocol error, symlink '../mime/cli.js' -> '/vagrant/src/nodejs/node_modules/express/node_modules/send/node_modules/.bin/mime'
    DOT + graphviz 轻松画图
    关于阿里云ESC上go语言项目编译6l: running gcc failed: Cannot allocate memory
    Ubunu下安装Docker
    Ubunu下安装mongoDB
    Docker私有仓库Registry的搭建验证
    Linux的SOCKET编程详解
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/9690928.html
Copyright © 2011-2022 走看看