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

使用OpenCV實現(xiàn)人臉圖像卡通化的示例代碼

 更新時間:2021年01月15日 11:18:15   作者:Warmer_Sweeter  
這篇文章主要介紹了使用OpenCV實現(xiàn)人臉圖像卡通化的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

引言

通過前面的文章我們已經(jīng)了解到OpenCV 是一個用于計算機視覺和機器學習的開源 python 庫。它主要針對實時計算機視覺和圖像處理。它用于對圖像執(zhí)行不同的操作,這些操作使用不同的技術對圖像進行轉換。在本文中,我們將實現(xiàn)使用OpenCV將人臉圖像卡通化。

讓我們從導入必需的庫開始!

import cv2
import numpy as np

第一次變換(卡通化)

在這個轉換中,我們將找到圖像的邊緣,并使用雙邊濾波器和位操作符制作一個卡通化的圖像。

# Reading the Image 
image = cv2.imread("image1.jpg")
# Finding the Edges of Image
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 
gray = cv2.medianBlur(gray, 7) 
edges = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 9, 10)
# Making a Cartoon of the image
color = cv2.bilateralFilter(image, 12, 250, 250) 
cartoon = cv2.bitwise_and(color, color, mask=edges)
#Visualize the cartoon image 
cv2.imshow("Cartoon", cartoon) 
cv2.waitKey(0) # "0" is Used to close the image window
cv2.destroyAllWindows()

第二次變換(模糊圖像)

在第二次變換中,我們嘗試用一個邊緣保持濾波器來模糊圖像,并在邊緣上加入一個閾值。在這里我們使用的是高斯模糊。

#convert to gray scale
grayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
#apply gaussian blur
grayImage = cv2.GaussianBlur(grayImage, (3, 3), 0)
#detect edges
edgeImage = cv2.Laplacian(grayImage, -1, ksize=5)
edgeImage = 255 - edgeImage
#threshold image
ret, edgeImage = cv2.threshold(edgeImage, 150, 255, cv2.THRESH_BINARY)
#blur images heavily using edgePreservingFilter
edgePreservingImage = cv2.edgePreservingFilter(image, flags=2, sigma_s=50, sigma_r=0.4)
#create output matrix
output =np.zeros(grayImage.shape)
#combine cartoon image and edges image
output = cv2.bitwise_and(edgePreservingImage, edgePreservingImage, mask=edgeImage)
#Visualize the cartoon image 
cv2.imshow("Cartoon", output) 
cv2.waitKey(0) # "0" is Used to close the image window
cv2.destroyAllWindows()

第三次變換(風格化)

在這一變換過程中,我們將運用風格化的手法,創(chuàng)造出形象的卡通效果。

cartoon_image = cv2.stylization(image, sigma_s=150, sigma_r=0.25) 
cv2.imshow('cartoon', cartoon_image) 
cv2.waitKey(0) 
cv2.destroyAllWindows()

第四次變換(鉛筆素描)

在這個變換中,我們將分別創(chuàng)建一個彩色和黑白的鉛筆素描草圖形象。

cartoon_image1, cartoon_image2 = cv2.pencilSketch(image, sigma_s=60, sigma_r=0.5, shade_factor=0.02) 
cv2.imshow('pencil', cartoon_image1) 
cv2.waitKey() 
cv2.destroyAllWindows()

cv2.imshow('pencil', cartoon_image2)  
cv2.waitKey()  
cv2.destroyAllWindows()

總結

在本文中我們通過四次不同的變換將一個人臉圖像進行了卡通化。通過這些變換,我們對OpenCV有了更加深入的了解,快來動手試試吧~

到此這篇關于使用OpenCV實現(xiàn)人臉圖像卡通化的示例代碼的文章就介紹到這了,更多相關OpenCV 人臉圖像卡通化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python設計模式之抽象工廠模式原理與用法詳解

    Python設計模式之抽象工廠模式原理與用法詳解

    這篇文章主要介紹了Python設計模式之抽象工廠模式,簡單講述了抽象工廠模式的概念、原理并結合實例形式分析了Python實現(xiàn)與使用抽象工廠模式的相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python3 selenium 實現(xiàn)QQ群接龍自動化功能

    Python3 selenium 實現(xiàn)QQ群接龍自動化功能

    這篇文章主要介紹了Python3 selenium 實現(xiàn)QQ群接龍自動化功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • python實現(xiàn)簡單的五子棋游戲

    python實現(xiàn)簡單的五子棋游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單的五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 教你如何用Pytorch搭建數(shù)英混合驗證碼圖片識別模型

    教你如何用Pytorch搭建數(shù)英混合驗證碼圖片識別模型

    大家都知道checkpoints存放的是模型文件,data存放的是數(shù)據(jù)集,本文給大家分享如何利用Pytorch搭建數(shù)英混合驗證碼圖片識別模型包括普通卷積模塊,深度可分離卷積模塊,空間通道注意力模塊,殘差模塊,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • selenium如何定位span元素的實現(xiàn)

    selenium如何定位span元素的實現(xiàn)

    這篇文章主要介紹了selenium如何定位span元素的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 命令行運行Python腳本時傳入?yún)?shù)的三種方式詳解

    命令行運行Python腳本時傳入?yún)?shù)的三種方式詳解

    這篇文章主要介紹了命令行運行Python腳本時傳入?yún)?shù)的三種方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Python3進行表格數(shù)據(jù)處理的示例詳解

    Python3進行表格數(shù)據(jù)處理的示例詳解

    數(shù)據(jù)處理是一個當下非常熱門的研究方向,通過對于大型實際場景中的數(shù)據(jù)進行建模,可以用于預測下一階段可能出現(xiàn)的情況。本文就來聊聊Python3進行表格數(shù)據(jù)處理的相關操作,需要的可以參考一下
    2023-03-03
  • np.dot()函數(shù)的用法詳解

    np.dot()函數(shù)的用法詳解

    這篇文章主要介紹了np.dot()函數(shù)的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Python中getattr函數(shù)詳解

    Python中getattr函數(shù)詳解

    getattr是Python中的內置函數(shù),用于獲取一個對象的屬性值,下面這篇文章主要給大家介紹了關于Python中getattr函數(shù)的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • python實現(xiàn)海螺圖片的方法示例

    python實現(xiàn)海螺圖片的方法示例

    這篇文章主要介紹了python實現(xiàn)海螺圖片的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05

最新評論