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

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

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

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

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

原理和注意點(diǎn),我都寫在注釋里了

import cv2
##馬賽克
def do_mosaic(frame, x, y, w, h, neighbor=9):
  """
  馬賽克的實(shí)現(xiàn)原理是把圖像上某個(gè)像素點(diǎn)一定范圍鄰域內(nèi)的所有點(diǎn)用鄰域內(nèi)左上像素點(diǎn)的顏色代替,這樣可以模糊細(xì)節(jié),但是可以保留大體的輪廓。
  :param frame: opencv frame
  :param int x : 馬賽克左頂點(diǎn)
  :param int y: 馬賽克右頂點(diǎn)
  :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)鍵點(diǎ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)鍵點(diǎn)1 tolist
      left_up = (rect[0], rect[1])
      right_down = (rect[0] + neighbor - 1, rect[1] + neighbor - 1) # 關(guān)鍵點(diǎn)2 減去一個(gè)像素
      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文件與目錄操作技巧匯總

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

相關(guān)文章

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

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

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

    詳解Python3中setuptools、Pip安裝教程

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

    Python如何操作docker redis過程解析

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

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

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

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

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

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

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

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

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

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

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

    Python中文文本處理利器jieba分詞庫(kù)使用

    這篇文章主要給大家介紹了關(guān)于Python中文文本處理利器jieba分詞庫(kù)使用的相關(guān)資料,jieba是python中一個(gè)重要的第三方中文分詞函數(shù)庫(kù),文中通過代碼介紹的非常詳細(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)存不釋放的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評(píng)論