网站首页 > 技术文章 正文
不知道你有没有使用过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/
猜你喜欢
- 2024-09-11 给3D Slicer添加Python第三方插件库
- 2024-09-11 薅羊毛我愿称Python为最强,Python 自动化带你轻松赚钱
- 2024-09-11 史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门
- 2024-09-11 使用python实现简易的人脸检测(python人脸检测106关键点)
- 2024-09-11 机器视觉技术(一)边缘提取(机器视觉边缘检测)
- 2024-09-11 Python-OpenCV 16. 图像特征检测与描述算法
- 2024-09-11 Flask—远程查看行空板USB摄像头视频
- 2024-09-11 OpenCV+Python识别车牌和字符分割的实现
- 2024-09-11 在Fedora中安装OpenCV-Python | 二
- 2024-09-11 使用Python实现增强现实(AR)(python图像数据增强)
- 最近发表
-
- 真正驾驭大衣的时候,就是成为大人的时候
- 四居室的房子多大面积好?13万元的东南亚风格设计说明!
- 「掌握K8S集群」手把手真正实现Kubernetes集群的配置与部署
- 【左家动态·道路交通】县交警大队深入左家乡召开农村道路交通安全管理信息系统手机APP应用培训会
- Laravel 生成精美的项目使用文档扩展 overtrue/wisteria
- 酷似藤原浩亲友限定!骚紫 AJ3 发售日期泄露
- sfc修复win10找到损坏文件无法修复怎么办?
- 直到现在,充满年代感的 adidas 依然是我的心头好丨《每周冷门球鞋大赏》
- 酷黑丹宁 AJ4 首次曝光!网友:这不是小阿姆么
- 前端开发者需掌握的10个HTML概念_前端 html
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)