Opencv+Python實現(xiàn)圖像運動模糊和高斯模糊的示例
運動模糊:由于相機和物體之間的相對運動造成的模糊,又稱為動態(tài)模糊
Opencv+Python實現(xiàn)運動模糊,主要用到的函數(shù)是cv2.filter2D()
:
# coding: utf-8 import numpy as np import cv2 def motion_blur(image, degree=12, 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('./9.jpg') img_ = motion_blur(img) cv2.imshow('Source image',img) cv2.imshow('blur image',img_) cv2.waitKey()
原圖:
運動模糊效果:
高斯模糊:圖像與二維高斯分布的概率密度函數(shù)做卷積,模糊圖像細節(jié)
Opencv+Python實現(xiàn)高斯模糊,主要用到的函數(shù)是cv2.GaussianBlur()
:
# coding: utf-8 import numpy as np import cv2 img = cv2.imread('./9.jpg') img_ = cv2.GaussianBlur(img, ksize=(9, 9), sigmaX=0, sigmaY=0) cv2.imshow('Source image',img) cv2.imshow('blur image',img_) cv2.waitKey()
高斯模糊效果:
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
相關文章
python讀取大型csv文件的操作方法(降低內(nèi)存占用)
遇到大型的csv文件時,pandas會把該文件全部加載進內(nèi)存,從而導致程序運行速度變慢,本文提供了批量讀取csv文件、讀取屬性列的方法,減輕內(nèi)存占用情況,文中有詳細的代碼示例,需要的朋友可以參考下2024-03-03python爬取Ajax動態(tài)加載網(wǎng)頁過程解析
這篇文章主要介紹了python爬取Ajax動態(tài)加載網(wǎng)頁過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09python數(shù)據(jù)分析基礎知識之shape()函數(shù)的使用教程
shape函數(shù)是numpy.core.fromnumeric中的函數(shù),它的功能是讀取矩陣的長度,比如shape[0]就是讀取矩陣第一維度的長度,下面這篇文章主要給大家介紹了關于python數(shù)據(jù)分析基礎知識之shape()函數(shù)使用的相關資料,需要的朋友可以參考下2022-09-09Deepsort + Yolo 實現(xiàn)行人檢測和軌跡追蹤的方法
這篇文章主要介紹了Deepsort + Yolo 實現(xiàn)行人檢測和軌跡追蹤,本項目通過采用深度學習方法實現(xiàn)YOLO算法行人檢測和deepsort算法對人員定位的和軌跡跟蹤,需要的朋友可以參考下2021-09-09python3實現(xiàn)UDP協(xié)議的服務器和客戶端
這篇文章主要為大家詳細介紹了python3實現(xiàn)UDP協(xié)議的服務器和客戶端,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06