图像处理十:图像反色

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yql_617540298/article/details/85345500

一、原理

       反色的实际含义是将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)

 

猜你喜欢

转载自blog.csdn.net/yql_617540298/article/details/85345500