如何使用Opencv + Python实现图像运动模糊和高斯模糊

  介绍

这篇文章给大家分享的是有关如何使用Opencv + Python实现图像运动模糊和高斯模糊的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

<强>运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊

Opencv + Python实现运动模糊,主要用到的函数是<代码> cv2.filter2D() :

#,编码:utf - 8   import  numpy  as  np   import  cv2   def  motion_blur(图像,,=12,,角=45):   时间=image 才能;np.array(图片)   #才能,这里生成任意角度的运动模糊内核的矩阵,,越程度大,模糊程度越高   M 才能=,cv2.getRotationMatrix2D ((/degree  2, degree /, 2),,角度,,1)   时间=motion_blur_kernel 才能;np.diag (np.ones(学位))   motion_blur_kernel 才能=,cv2.warpAffine (motion_blur_kernel,,,(学位,学位))   motion_blur_kernel 才能=,motion_blur_kernel /学位   blurred 才能=,cv2.filter2D(图像,,1,,motion_blur_kernel)   #,才能convert 用uint8   cv2.normalize才能(模糊,模糊,,0,,255,,cv2.NORM_MINMAX)   时间=blurred 才能;np.array(模糊,,dtype=np.uint8)   return 才能;模糊   时间=img  cv2.imread (& # 39; 9.。/jpg # 39;)   时间=img_  motion_blur (img)   cv2.imshow (& # 39; Source 图像# 39;,img)   cv2.imshow (& # 39; blur 图像# 39;,img_)   cv2.waitKey ()

原图:

如何使用Opencv + Python实现图像运动模糊和高斯模糊

运动模糊效果:

如何使用Opencv + Python实现图像运动模糊和高斯模糊

<强>高斯模糊:图像与二维高斯分布的概率密度函数做卷积,模糊图像细节

Opencv + Python实现高斯模糊,主要用到的函数是<代码> cv2.GaussianBlur() :

#,编码:utf - 8   import  numpy  as  np   import  cv2   时间=img  cv2.imread (& # 39; 9.。/jpg # 39;)   img_ =, cv2.GaussianBlur (img, ksize=(9, 9), sigmaX=0,, sigmaY=0)   cv2.imshow (& # 39; Source 图像# 39;,img)   cv2.imshow (& # 39; blur 图像# 39;,img_)   cv2.waitKey ()

高斯模糊效果:

如何使用Opencv + Python实现图像运动模糊和高斯模糊

感谢各位的阅读!关于“如何使用Opencv + Python实现图像运动模糊和高斯模糊”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

如何使用Opencv + Python实现图像运动模糊和高斯模糊