python对图片实现自定义滤镜效果

你会不会觉得自己可以使用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,如下
map
第三步,准备自己想要进行过滤的图片,例如
原图
结果如下
在这里插入图片描述
说到这里如果你还不懂该脚本代码怎么使用,赶紧联系我吧,原创不易,转载请注明出处。

能不能来波素质三连,关注点赞评论,就是对我的最大支持啦

发布了14 篇原创文章 · 获赞 7 · 访问量 613

猜你喜欢

转载自blog.csdn.net/my_name_is_learn/article/details/103287997