1. 程式人生 > >Python-OpenCV之操作畫素進行反色(反相)處理

Python-OpenCV之操作畫素進行反色(反相)處理

反色概念:

PS裡也稱反相。就是將畫素點的顏色變成與原先相反的顏色,這裡的“相反”指的是用色彩值的最高值255減去原先的色彩值。

知識點:

  1. src.shape()返回圖片大小
  2. cv.getTickCount()返回系統啟動到當前的計時週期數
  3. cv.getTickFrequency()返回每秒的計時週期數

示例程式碼

import cv2 as cv


def access_pixels(image):
    height, width, channels = image.shape
    print("width:%s,height:%s,channels:%s" % (width, height, channels))

    for row in range(height):
        for list in range(width):
            for c in range(channels):
                pv = image[row, list, c]
                image[row, list, c] = 255 - pv
    cv.imshow("AfterDeal", image)


src = cv.imread('test.jpg')
cv.imshow('OriginalImage', src)

# 獲取當前系統以執行的週期數
t1 = cv.getTickCount()
# 執行函式
access_pixels(src)
# 再次獲取當前系統以執行的週期數
t2 = cv.getTickCount()
# 計時週期數差值除以每秒週期數,獲得處理時間
print("time cost:%s s" % ((t2 - t1) / cv.getTickFrequency()))
cv.waitKey()

效果

原圖片
處理後