python使用opencv實現馬賽克效果示例

2022-09-29 18:18:14 字數 1217 閱讀 8044

最近要實現opencv**打馬賽克,在網上找了一下基本是c++的實現,好在原理一樣,下面給出python實現。

原理和注意點,我都寫在注釋裡了

import cv2

##馬賽克

def do_mosaic(frame, x, y, w, h, neighbor=9):

"""馬賽克的實現原理是把影象上某個畫素點一定範圍鄰域內的所有點用鄰域內左上畫素點的顏色代替,這樣可以模糊細節,但是可以保留大體的輪廓www.cppcns.com。

:param frame: opencv frame

:param int x : 馬賽www.cppcns.com克左頂點

:param int y: 馬賽克程式設計客棧右頂點

:param int w: 馬賽克寬

:param int h: 馬賽克高

:param int neighbor: 馬賽克每一塊的寬

"""fh, fw = frame.shape[0], frame.shape[1]

if (y + h > fh) or (x + w > fw):

return

for i in range(0, h - neighbor, neighbor): # 關鍵點0 減去neightbour 防止溢位

for j in range(0, w - neighb程式設計客棧or, neighbor):

rect = [j + x, i + y, neighbor, neighbor]

color = frame[i + y][j + x].tolist() # 關鍵點1 tolist

left_up = (rect[0], rect[1])

right_down = (rect[0] + neighbor - 1, rect[1] + neighbor - 1) # 關鍵點2 減去乙個畫素

原圖為:

效果如下:

來自網上,如有侵權,聯絡刪除。

在python3 5中使用OpenCV的例項講解

最近在opencv的官方文件上看到乙個人臉識別的示例 想要實現。由於我之前下好的opencv3.1中並不自帶相關的函式,即opencv2 contrib contrib.hpp這個檔案找不到。需要 乙個contrib的擴充套件包,然後再用cmake進行編譯,最終才能使用。於是,就去官網上下了乙個op...

opencv手冊 OpenCV之單目測距實現

最近要做乙個小專案,要完成相機的測距實現,最先考慮的是三角雷射測距,但是實現起來太麻煩了,基本要搭乙個簡易的雷射測距雷達.然後是雙目測距,然而乙個便宜的雙目工業相機也要四五百,而且以前也沒接觸過雙目測距.於是就想試試單目測距的效果怎麼樣,通過參考網路上的各種資料,加上以前玩過三角雷射測距,所以也算比...

SpringBoot整合OpenCV的實現示例

接下來會講解怎麼用springboot整合opencv 這裡正常初始乙個springboot專案 在安裝目錄下找到以下兩個檔案,www.cppcns.com如果不知道怎麼安裝opencv,可檢視這篇文章,windows下安裝opencv opencv build j a opencv 420.jar...