1. 程式人生 > >影象處理十:影象反色

影象處理十:影象反色

一、原理

       反色的實際含義是將R、G、B值反轉。若顏色的量化級別是256,則新圖的R、G、B值為255減去原圖的R、G、B值。這裡針對的是所有圖,包括真彩圖、帶調色盤的彩色圖(又稱為偽彩色圖)、和灰度圖。真彩圖不帶調色盤,每個象素用3個位元組,表示R、G、B三個分量。所以處理很簡單,把反轉後的R、G、B值寫入新圖即可,比如一個點的顏色為(0,0,0),反色後為(255,255,255)。帶調色盤的彩色圖,其點陣圖中的資料只是對應調色盤中的一個索引值,我們只需要將調色盤中的顏色反轉,形成新調色盤,而點陣圖資料不用動,就能夠實現反轉。

二、原始碼

import cv2
import os
from time import clock

filepath = 'C:/Users/Administrator/Desktop/tran_image'
resultpath = 'C:/Users/Administrator/Desktop/tran_image_devert'
count = os.listdir(filepath)
start = clock()
for m in range(0,len(count)):
    image = cv2.imread(filepath+'/'+str(m)+'.jpg')
    image2 = image.copy()
    for i in range(0,image.shape[0]):
        for j in range(0,image.shape[1]):
            image2[i,j]= 255 - image[i,j]
    cv2.imwrite(resultpath+'/'+str(m)+'.jpg',image2)
final = clock
print("devert_time=",final-start)