首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python创建自己的Instagram滤镜|视觉实战

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

作者头像
磐创AI
发布2019-10-23 19:36:56
1.2K0
发布2019-10-23 19:36:56
举报

作者|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()

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

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

边缘检测滤镜

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进行图像处理的代码示例。

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

资源

  • OpenCV[1]

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磐创AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模糊滤镜
  • 边缘检测滤镜
  • 复古风滤镜
  • 资源
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档