最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Opencv的圖像卡通化實(shí)現(xiàn)代碼

 更新時(shí)間:2022年01月07日 14:27:31   作者:Giao哥不瘦到100不改名  
這篇文章主要介紹了基于Opencv的圖像卡通化,主要工具是高斯濾波器、細(xì)節(jié)增強(qiáng)濾波器、雙邊濾波、拉普拉斯濾波器,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

OpenCV的全稱是:Open Source Computer Vision Library。OpenCV是一個(gè)基于(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。

本文給大家介紹基于Opencv的圖像卡通化,主要工具是高斯濾波器、細(xì)節(jié)增強(qiáng)濾波器、雙邊濾波、拉普拉斯濾波器。

鉛筆素描效果

將輸入圖像灰度化后及逆行高斯濾波,其中由于高斯濾波服從正態(tài)分布,核數(shù)越大、越模糊。最后一步是將原始灰度圖像除以模糊后的灰度圖像。這樣可以得出兩個(gè)圖像中每個(gè)像素之間的變化率。模糊效果越強(qiáng),每個(gè)像素的值相對(duì)于其原點(diǎn)的變化就越大,因此,它使我們的鉛筆素描更加清晰。其中第一幅圖核數(shù)為25,第二幅圖核數(shù)為75。(領(lǐng)會(huì)除法運(yùn)用在此處的妙處)


import cv2
img=cv2.imread('bird.jpg')
cv2.imshow('bird',img)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Blur the image using Gaussian Blur
#高斯核服從正態(tài)分布,核數(shù)越大,越模糊
gray_blur = cv2.GaussianBlur(gray, (75, 75), 0)
# Convert the image into pencil sketch
cartoon = cv2.divide(gray, gray_blur, scale=250.0)
cv2.imshow('cartoon.jpg',cartoon)
cv2.waitKey()
cv2.destroyAllWindows()

國(guó)畫(huà)效果

國(guó)畫(huà)效果:銳化圖像,平滑顏色以及增強(qiáng)邊緣效果。
1.將原圖像進(jìn)行中值濾波后進(jìn)行自適應(yīng)均值濾波后的邊緣圖像。
2.將原RGB圖像進(jìn)行基于細(xì)節(jié)增強(qiáng)濾波器的銳化下圖1。(當(dāng)把細(xì)節(jié)增強(qiáng)濾波器換為雙邊濾波,顯得更加平滑,下圖2)
3.將銳化后的圖像與邊緣圖像進(jìn)行按位與得到最終效果圖。


import cv2
img=cv2.imread('bird.jpg')
cv2.imshow('bird',img)
#convert the image into grayscale image
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#Blur the grayscale image with median blur中值濾波
gray_blur = cv2.medianBlur(gray, 3)
#Apply adaptive thresholding to detect edges檢測(cè)圖像邊緣
edges = cv2.adaptiveThreshold(gray_blur, 255, cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY, 9, 9)#自適應(yīng)均值濾波
#Sharpen the image銳化圖像
color = cv2.detailEnhance(img, sigma_s=5, sigma_r=0.5)
cv2.imshow('color',color)
#細(xì)節(jié)增強(qiáng)函數(shù) sigma_s控制著鄰域的大小,該鄰域的大小將被加權(quán)以替換圖像中的像素值。值越高,鄰域越大。這樣可以使圖像更平滑
#:如果要在平滑圖像時(shí)保留邊緣,這很重要。較小的值只會(huì)產(chǎn)生非常相似的顏色進(jìn)行平均(即平滑),而相差很大的顏色將保持不變
#Merge the colors of same images using "edges" as a mask
cartoon = cv2.bitwise_and(color, color, mask=edges)
cv2.imshow('cartoon',cartoon)
cv2.waitKey()
cv2.destroyAllWindows()

抽象效果

拉普拉斯濾波器:通過(guò)對(duì)象內(nèi)部的灰度級(jí)和圖像背景強(qiáng)度來(lái)突出對(duì)象的邊緣

import cv2
img=cv2.imread('bird.jpg')

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('img.jpg', img )

gray = cv2.medianBlur(gray, 3)
edges = cv2.Laplacian(gray, -1, ksize=5)
edges_inv = 255 - edges
dummy, cartoon = cv2.threshold(edges_inv, 0, 255, cv2.THRESH_BINARY)
cv2.imshow('cartoon.jpg', cartoon )
cv2.waitKey()
cv2.destroyAllWindows()

到此這篇關(guān)于基于Opencv的圖像卡通化實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)Opencv圖像卡通化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pycharm配置Anaconda環(huán)境的詳細(xì)圖文教程

    Pycharm配置Anaconda環(huán)境的詳細(xì)圖文教程

    PyCharm是一款很好用很流行的python編輯器,Anaconda通過(guò)管理工具包、開(kāi)發(fā)環(huán)境、Python版本,大大簡(jiǎn)化了你的工作流程,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Pycharm配置Anaconda環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 如何將yolov5中的PANet層改為BiFPN詳析

    如何將yolov5中的PANet層改為BiFPN詳析

    現(xiàn)在yolov5的neck用的是PANet,在efficient論文中提出了BiFPN結(jié)構(gòu),還有更加不錯(cuò)的性能,下面這篇文章主要給大家介紹了關(guān)于如何將yolov5中的PANet層改為BiFPN的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • python numpy和list查詢其中某個(gè)數(shù)的個(gè)數(shù)及定位方法

    python numpy和list查詢其中某個(gè)數(shù)的個(gè)數(shù)及定位方法

    今天小編就為大家分享一篇python numpy和list查詢其中某個(gè)數(shù)的個(gè)數(shù)及定位方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python多線程爬取豆瓣影評(píng)API接口

    Python多線程爬取豆瓣影評(píng)API接口

    這篇文章主要介紹了Python多線程爬取豆瓣影評(píng)API接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python實(shí)現(xiàn)圖片識(shí)別加翻譯功能

    Python實(shí)現(xiàn)圖片識(shí)別加翻譯功能

    這篇文章主要介紹了Python使用百度AI接口實(shí)現(xiàn)圖片識(shí)別加翻譯功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • pandas dataframe保留重復(fù)行的方法

    pandas dataframe保留重復(fù)行的方法

    如何保留Pandas DataFrame中的重復(fù)行,可以使用duplicated()方法和布爾索引,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • PyQt教程之自定義組件Switch?Button的實(shí)現(xiàn)

    PyQt教程之自定義組件Switch?Button的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了PyQt中如何實(shí)現(xiàn)自定義組件Switch?Button,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-05-05
  • 使用Python在Word中插入圖片并文字環(huán)繞的方法

    使用Python在Word中插入圖片并文字環(huán)繞的方法

    在Word文檔中插入圖片能夠提供更直觀的信息,插入圖片時(shí),我們還可以調(diào)整圖片大小,以及設(shè)置合適的文字環(huán)繞方式,本文將提供兩種使用Python在Word文檔中插入圖片并設(shè)置文字環(huán)繞的方法,需要的朋友可以參考下
    2024-06-06
  • python制作企業(yè)郵箱的爆破腳本

    python制作企業(yè)郵箱的爆破腳本

    這篇文章主要介紹了python制作企業(yè)郵箱的爆破腳本的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Python中的Xpath和lxml庫(kù)的使用詳解

    Python中的Xpath和lxml庫(kù)的使用詳解

    這篇文章主要介紹了Python中的Xpath和lxml庫(kù)的使用詳解,XPath即 XML路徑語(yǔ)言,它是一門在 XML 文檔中查找信息的語(yǔ)言,最初被用來(lái)搜尋 XML 文檔,同時(shí)它也適用于搜索 HTML 文檔,因此,在爬蟲(chóng)過(guò)程中可以使用 XPath 來(lái)提取相應(yīng)的數(shù)據(jù),需要的朋友可以參考下
    2023-12-12

最新評(píng)論

德钦县| 精河县| 澜沧| 闽侯县| 裕民县| 和平区| 麻江县| 甘谷县| 罗田县| 昆明市| 河曲县| 江陵县| 花莲县| 灵宝市| 乌海市| 小金县| 梁平县| 大埔县| 全南县| 彩票| 高邑县| 揭阳市| 宣化县| 隆回县| 泊头市| 禹城市| 金沙县| 青岛市| 和政县| 察隅县| 米易县| 四川省| 闵行区| 宣城市| 瓦房店市| 百色市| 新郑市| 英山县| 株洲县| 小金县| 峨边|