<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用OpenCV實現人臉圖像卡通化

          共 2899字,需瀏覽 6分鐘

           ·

          2021-01-01 01:14

          點擊上方小白學視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達

          引言


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


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

          import cv2import numpy as np

          第一次變換(卡通化)


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

          # Reading the Image image = cv2.imread("image1.jpg")# Finding the Edges of Imagegray = 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 imagecolor = 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 windowcv2.destroyAllWindows()

          第二次變換(模糊圖像)


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

          #convert to gray scalegrayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#apply gaussian blurgrayImage = cv2.GaussianBlur(grayImage, (3, 3), 0)#detect edgesedgeImage = cv2.Laplacian(grayImage, -1, ksize=5)edgeImage = 255 - edgeImage#threshold imageret, edgeImage = cv2.threshold(edgeImage, 150, 255, cv2.THRESH_BINARY)#blur images heavily using edgePreservingFilteredgePreservingImage = cv2.edgePreservingFilter(image, flags=2, sigma_s=50, sigma_r=0.4)#create output matrixoutput =np.zeros(grayImage.shape)#combine cartoon image and edges imageoutput = 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 windowcv2.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有了更加深入的了解,快來動手試試吧~

          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學視覺」公眾號后臺回復:擴展模塊中文教程,即可下載全網第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內容。

          下載2:Python視覺實戰(zhàn)項目31講
          小白學視覺公眾號后臺回復:Python視覺實戰(zhàn)項目31講,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數、添加眼線、車牌識別、字符識別、情緒檢測、文本內容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學視覺公眾號后臺回復:OpenCV實戰(zhàn)項目20講即可下載含有20個基于OpenCV實現20個實戰(zhàn)項目,實現OpenCV學習進階。

          下載4:leetcode算法開源書
          小白學視覺公眾號后臺回復:leetcode,即可下載。每題都 runtime beats 100% 的開源好書,你值得擁有!




          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據研究方向邀請進入相關微信群。請勿在群內發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  搞逼网址 | 日逼美女| 天堂网最新网址 | 婷婷五月天伊人 | 成人三级在线观看 |