1. 磐创AI首页
  2. 机器学习
  3. TensorFlowNews

使用Python创建自己的Instagram滤镜|视觉实战

使用Python创建自己的Instagram滤镜|视觉实战

作者|Arno       编译|Arno       来源|Medium


带有代码的OpenCV的图像滤镜示例

不知道你有没有使用过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()
使用Python创建自己的Instagram滤镜|视觉实战
(左)原始图像,(右)应用模糊滤镜后的图像
使用Python创建自己的Instagram滤镜|视觉实战
(左)原始图像,(右)应用模糊滤镜后的图像

边缘检测滤镜

import cv2
import matplotlib.pyplot as plt
im = cv2.imread('input-image.jpg')
edges = cv2.Canny(im,100,300)
plt.imshow(edges)
plt.show()
使用Python创建自己的Instagram滤镜|视觉实战
(左)原始图像,(右)应用边缘检测滤镜后的图像
使用Python创建自己的Instagram滤镜|视觉实战
(左)原始图像,(右)应用边缘检测滤镜后的图像

复古风滤镜

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创建自己的Instagram滤镜|视觉实战
(左)原始图像,(右)应用复古风滤镜后的图像
使用Python创建自己的Instagram滤镜|视觉实战
(左)原始图像,(右)应用复古风滤镜后的图像

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

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

资源

  • OpenCV[1]

[1]: https://opencv.org/?source=post_page—–6d8bd3a86d4———————-

你也许还想


  3分钟实现人脸检测 |视觉进阶

   使用skimage处理图像数据的9个技巧|视觉进阶

   10行代码实现目标检测 |视觉进阶

欢迎扫码关注:

使用Python创建自己的Instagram滤镜|视觉实战


使用Python创建自己的Instagram滤镜|视觉实战 点击下方 |  | 了解更多

磐创AI:http://www.panchuangai.com/ 智能客服:http://www.panchuangai.com/ TensorFlow:http://panchuang.net 推荐关注公众号:磐创AI

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2019/11/09/4aeae0b8ad/

发表评论

登录后才能评论

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息