python实现高斯模糊和运动模糊

该代码示例展示了如何用Python结合OpenCV库来对图像进行运动模糊和高斯模糊处理。首先定义了一个函数`motion_blur`用于创建运动模糊效果,然后使用`cv2.GaussianBlur`函数实现高斯模糊。最后,将处理后的图像保存为JPEG文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python实现运动模糊和高斯模糊:

# coding=utf-8
import numpy as np
import cv2
def motion_blur(image, degree=30, angle=45):
  image = np.array(image)
  #这里生成任意角度的运动模糊kernel的矩阵, degree越大,模糊程度越高
  M = cv2.getRotationMatrix2D((degree / 2, degree / 2), angle, 1)
  motion_blur_kernel = np.diag(np.ones(degree))
  motion_blur_kernel = cv2.warpAffine(motion_blur_kernel, M, (degree, degree))
  motion_blur_kernel = motion_blur_kernel / degree
  blurred = cv2.filter2D(image, -1, motion_blur_kernel)
  #convert to uint8
  cv2.normalize(blurred, blurred, 0, 255, cv2.NORM_MINMAX)
  blurred = np.array(blurred, dtype=np.uint8)
  return blurred
img = cv2.imread('./2022.jpg')
#运动模糊
img_motion = motion_blur(img)
#高斯模糊
img_gauss = cv2.GaussianBlur(img, ksize=(9, 9), sigmaX=0, sigmaY=0)
cv2.imwrite("motion_blur" + ".jpg",img_motion )
cv2.imwrite("GaussianBlur" + ".jpg",img_gauss )

原图原图

在这里插入图片描述运动模糊

在这里插入图片描述高斯模糊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值