OpenCV图像运动模糊

简介: OpenCV图像运动模糊
def motion_blur(img, degree=10, angle=20):
    image = img.copy()
    # 这里生成任意角度的运动模糊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
 
if __name__ == '__main__':
    img = cv2.imread(r'1.jpg')
    blurred = motion_blur(img)
    cv2.imwrite(r'2.jpg', blurred)
相关文章
|
5天前
|
算法 计算机视觉
【Qt&OpenCV 图像的感兴趣区域ROI】
【Qt&OpenCV 图像的感兴趣区域ROI】
9 1
|
5天前
|
运维 算法 计算机视觉
【Qt&OpenCV 图像的模板匹配 matchTemplate/minMaxLoc】
【Qt&OpenCV 图像的模板匹配 matchTemplate/minMaxLoc】
7 1
|
17天前
|
计算机视觉
OpenCV中图像算术操作与逻辑操作
OpenCV中图像算术操作与逻辑操作
12 1
|
18天前
|
计算机视觉
OpenCV图像二值化
OpenCV图像二值化
|
18天前
|
存储 Cloud Native Linux
OpenCV图像翻转和旋转
OpenCV图像翻转和旋转
|
18天前
|
存储 Cloud Native Linux
OpenCV鼠标操作(画红色方框截取图像)
OpenCV鼠标操作(画红色方框截取图像)
|
18天前
|
计算机视觉
OpencV图像几何形状绘制
OpencV图像几何形状绘制
|
18天前
|
计算机视觉
OpenCV图像像素值统计
OpenCV图像像素值统计
|
18天前
|
计算机视觉
OpenCV图像色彩空间转换
OpenCV图像色彩空间转换
|
18天前
|
计算机视觉
OpenCV图像像素逻辑操作
OpenCV图像像素逻辑操作