关于“Python OpenCV实现3种滤镜效果实例”的完整攻略,我会提供以下几个方面的说明:
1. 准备工作
在开始本项目之前,我们需要先进行一些准备工作:
- 安装Python
- 安装OpenCV库
- 下载示例图片
可以参考以下链接安装Python和OpenCV库:
示例图片可以在 GitHub仓库 中下载。
2. 灰度滤镜
2.1 实现过程
首先,我们导入所需的库:
import cv2
然后读入图片:
img = cv2.imread('example.jpg')
我们还需要将图像转换为灰色。这可以使用以下代码完成:
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
接下来,显示图像。这可以使用以下代码完成:
cv2.imshow('gray', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
2.2 示例说明
我们使用的样例图片是一张色彩丰富的风景照片。通过灰度滤镜,我们将其转换为一张黑白图片,可以更好地凸显出原图的构图和结构。
3. 怀旧滤镜
3.1 实现过程
对于怀旧滤镜,我们需要进行以下几个步骤:
- 读取图像
- 将图像转换为灰色
- 将图像转换为怀旧效果
代码如下:
img = cv2.imread('example.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
h, w = img.shape[:2]
img = cv2.resize(img, (w//2, h//2))
dst = cv2.addWeighted(img, 0.8, cv2.GaussianBlur(img, (101, 101), 0), 0.2, 30)
cv2.imshow('nostalgic',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
3.2 示例说明
我们使用的样例图片是一张生活场景的照片。通过怀旧滤镜,我们将其转换成为一张带有老照片色彩的照片,更好地体现出场景的历史感和温情脉脉。
4. 条纹滤镜
4.1 实现过程
对于条纹滤镜,我们需要进行以下几个步骤:
- 读取图像
- 将图像转换为灰色
- 对图像进行条纹滤镜处理
- 显示图片
代码如下:
img = cv2.imread('example.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_width, img_height = gray.shape[:2]
mask = 128 * (1 + cv2.resize(cv2.GaussianBlur(np.random.randn(img_width, img_height), (11, 11), 0), (img_height, img_width)))
dst = np.zeros_like(gray)
dst = cv2.addWeighted(gray, 1, mask, 0.5, 0, dst)
cv2.imshow('striped',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
4.2 示例说明
我们使用的样例图片是一张羊。通过条纹滤镜,我们为这张图片添加了一些条纹纹理,让图片看起来更加生动和有趣。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python OpenCV实现3种滤镜效果实例 - Python技术站