zoukankan      html  css  js  c++  java
  • 使用Python创建自己的Instagram滤镜

    不知道你有没有使用过Instagram滤镜,它们非常方便,只需单击几个按钮,就可以变换我要发布的照片​​。

    你是否想过自己可以创建一个?答案是可以的!

    在本文中,我将向你展示如何使用代码和示例图像来创建一些图像处理滤镜。

    如果尚未安装以下python库,则需要安装它:

    opencv-python
    matplotlib
    numpy
    

    模糊滤镜

    import cv2
    import matplotlib.pyplot as plt
    im = cv2.imread('input-image.jpg')
    dst = cv2.GaussianBlur(im,(5,5),cv2.BORDER_DEFAULT)
    plt.imshow(dst)
    plt.show()
    

    (左)原始图像,(右)应用模糊滤镜后的图像

    边缘检测滤镜

    import cv2
    import matplotlib.pyplot as plt
    im = cv2.imread('input-image.jpg')
    edges = cv2.Canny(im,100,300)
    plt.imshow(edges)
    plt.show()
    

    (左)原始图像,(右)应用边缘检测滤镜后的图像

    (左)原始图像,(右)应用边缘检测滤镜后的图像

    复古风滤镜

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    im = cv2.imread('input-image.jpg')
    rows, cols = im.shape[:2]
    # 创建高斯滤波器
    kernel_x = cv2.getGaussianKernel(cols,200)
    kernel_y = cv2.getGaussianKernel(rows,200)
    kernel = kernel_y * kernel_x.T
    filter = 255 * kernel / np.linalg.norm(kernel)
    vintage_im = np.copy(im)
    
    # 对于输入图像中的每个通道,我们将应用上述滤波器
    for i in range(3):
        vintage_im[:,:,i] = vintage_im[:,:,i] * filter
    plt.imshow(vintage_im)
    plt.show()
    

    (左)原始图像,(右)应用复古风滤镜后的图像

    (左)原始图像,(右)应用复古风滤镜后的图像

    以上就是使用Python和OpenCV进行图像处理的代码示例。

    你最喜欢哪个滤镜?在下面留下你的想法作为评论。

    资源

    • OpenCV1

    欢迎关注磐创博客资源汇总站:
    http://docs.panchuang.net/

    欢迎关注PyTorch官方中文教程站:
    http://pytorch.panchuang.net/


    1. https://opencv.org/ ↩︎

  • 相关阅读:
    互联网架构的三马车
    云时代架构读后感
    支付宝架构师眼里的高并发架构
    支付宝架构
    架构层级的“开闭原则”2
    架构层级的“开闭原则”1
    互联网架构微服务
    关于第三方支付
    分布式架构中数据一致性常见的几个问题
    Java多线程学习笔记二
  • 原文地址:https://www.cnblogs.com/panchuangai/p/12567959.html
Copyright © 2011-2022 走看看