欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用opencv實現(xiàn)馬賽克效果示例

 更新時間:2019年09月28日 11:03:25   作者:半山無極  
這篇文章主要介紹了python使用opencv實現(xiàn)馬賽克效果,結(jié)合實例形式分析了Python使用cv2模塊操作圖片實現(xiàn)馬賽克效果的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了python使用opencv實現(xiàn)馬賽克效果。分享給大家供大家參考,具體如下:

最近要實現(xiàn)opencv視頻打馬賽克,在網(wǎng)上找了一下基本是C++的實現(xiàn),好在原理一樣,下面給出python實現(xiàn)。

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

import cv2
##馬賽克
def do_mosaic(frame, x, y, w, h, neighbor=9):
  """
  馬賽克的實現(xiàn)原理是把圖像上某個像素點一定范圍鄰域內(nèi)的所有點用鄰域內(nèi)左上像素點的顏色代替,這樣可以模糊細(xì)節(jié),但是可以保留大體的輪廓。
  :param frame: opencv frame
  :param int x : 馬賽克左頂點
  :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): # 關(guān)鍵點0 減去neightbour 防止溢出
    for j in range(0, w - neighbor, neighbor):
      rect = [j + x, i + y, neighbor, neighbor]
      color = frame[i + y][j + x].tolist() # 關(guān)鍵點1 tolist
      left_up = (rect[0], rect[1])
      right_down = (rect[0] + neighbor - 1, rect[1] + neighbor - 1) # 關(guān)鍵點2 減去一個像素
      cv2.rectangle(frame, left_up, right_down, color, -1)
im = cv2.imread('test.jpg', 1)
do_mosaic(im, 219, 61, 460 - 219, 412 - 61)

while 1:
  k = cv2.waitKey(10)
  if k == 27:
    break
  cv2.imshow('mosaic', im)

原圖為:

效果如下:

圖片來自網(wǎng)上,如有侵權(quán),聯(lián)系刪除。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • pandas讀取excel統(tǒng)計空值數(shù)量錯誤的解決方法

    pandas讀取excel統(tǒng)計空值數(shù)量錯誤的解決方法

    pd.read_excel()讀取excel數(shù)據(jù)后,用pd.isnull().sum()統(tǒng)計空值數(shù)量不對,本文主要介紹了pandas讀取excel統(tǒng)計空值數(shù)量錯誤的解決方法,感興趣的可以了解一下
    2024-04-04
  • 詳解Python3中setuptools、Pip安裝教程

    詳解Python3中setuptools、Pip安裝教程

    這篇文章主要介紹了詳解Python3中setuptools、Pip安裝教程,文中給大家提到了注意事項,需要的朋友可以參考下
    2019-06-06
  • Python如何操作docker redis過程解析

    Python如何操作docker redis過程解析

    這篇文章主要介紹了Python如何操作docker redis過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Python編程編寫完善的命令行工具

    Python編程編寫完善的命令行工具

    提到編寫命令行工具,你可能會想到用 sys.argv 或者標(biāo)準(zhǔn)庫 argparse,沒錯,這兩個很常用,不過情況復(fù)雜時沒有那么方便和高效,因此今天分享兩個工具,讓你編寫命令行工具不費吹灰之力
    2021-09-09
  • 淺析Python中線程以及線程阻塞

    淺析Python中線程以及線程阻塞

    這篇文章主要為大家簡單介紹一下Python中線程以及線程阻塞的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-04-04
  • python+opencv 讀取文件夾下的所有圖像并批量保存ROI的方法

    python+opencv 讀取文件夾下的所有圖像并批量保存ROI的方法

    今天小編就為大家分享一篇python+opencv 讀取文件夾下的所有圖像并批量保存ROI的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Flask模板繼承深入理解與應(yīng)用

    Flask模板繼承深入理解與應(yīng)用

    Flask中的模板可以繼承,通過繼承可以把模板中許多重復(fù)出現(xiàn)的元素抽取出來,放在父模板中,并且父模板通過定義block給子模板開一個口,子模板根據(jù)需要,再實現(xiàn)這個block
    2022-09-09
  • django連接Mysql中已有數(shù)據(jù)庫的方法詳解

    django連接Mysql中已有數(shù)據(jù)庫的方法詳解

    眾所周知Django較為適合原生開發(fā),即通過該框架搭建一個全新的項目,通過在修改models.py來創(chuàng)建新的數(shù)據(jù)庫表,下面這篇文章主要給大家介紹了關(guān)于django連接Mysql中已有數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python中文文本處理利器jieba分詞庫使用

    Python中文文本處理利器jieba分詞庫使用

    這篇文章主要給大家介紹了關(guān)于Python中文文本處理利器jieba分詞庫使用的相關(guān)資料,jieba是python中一個重要的第三方中文分詞函數(shù)庫,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 解決Keras中循環(huán)使用K.ctc_decode內(nèi)存不釋放的問題

    解決Keras中循環(huán)使用K.ctc_decode內(nèi)存不釋放的問題

    這篇文章主要介紹了解決Keras中循環(huán)使用K.ctc_decode內(nèi)存不釋放的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論