你会不会觉得自己可以使用python来实现市面上所有图片处理软件所包含的滤镜效果很酷呢?(你要是能读懂上面那句话说明我们是同道中人),脚本代码如下,python小白看不懂的话可以联系我,QQ840694971,密码:黄俊雄
import numpy as np
def filter(img, map):
"""
对图片img进行滤镜map操作
:param img: 原图片数组
:param map: 滤镜色卡数组
:return:滤镜处理之后的图片数组
"""
rows, cols = img.shape[:2]
dst = np.zeros((rows, cols, 3), dtype="uint8")
b = img[:, :, 0]
g = img[:, :, 1]
r = img[:, :, 2]
r = r.astype(np.int16)
g = g.astype(np.int16)
b = b.astype(np.int16)
x = (g // 4) + (b // 32) * 64
y = (r // 4) + ((b % 32) // 4) * 64
for i in range(rows):
for j in range(cols):
dst[i][j] = map[x[i][j]][y[i][j]]
return dst
if __name__ == '__main__':
import time
import cv2
start = time.clock()
img = cv2.imread("img.jpg", 1)
map = cv2.imread("map.png")
dst = filter(img, map)
end = time.clock()
print('Running time: %s Seconds' % (end - start))
说说该脚本代码如何使用,第一步,你得有一张颜色基准色卡,客官放心,小人已经给你备上了,如下
第二步,使用图像处理软件(如某图秀秀),生成一张滤镜色卡map,如下
第三步,准备自己想要进行过滤的图片,例如
结果如下
说到这里如果你还不懂该脚本代码怎么使用,赶紧联系我吧,原创不易,转载请注明出处。
能不能来波素质三连,关注点赞评论,就是对我的最大支持啦