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

python圖像處理-利用一行代碼實現(xiàn)灰度圖摳圖

 更新時間:2022年05月19日 14:42:27   作者:我頭禿了a  
這篇文章主要介紹了python圖像處理-利用一行代碼實現(xiàn)灰度圖摳圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一行代碼實現(xiàn)灰度圖摳圖

摳圖是ps的最基本技能,利用python可以實現(xiàn)用一行代碼實現(xiàn)灰度圖摳圖。

基礎(chǔ)算法是確定圖像二值化分割閾值的大津法,將圖像分成背景和前景兩部分,最大化背景和前景之間的類間方差。

具體理論部分可以搜索大津法了解一下,代碼部分只要在調(diào)用threshold的函數(shù)中,參數(shù)選擇THRESH_OTSU就可以調(diào)用大津法分割

ret1, th1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)

全部代碼如下,將原圖、直方圖和分割后的圖放在一起比較展示

image = cv2.imread("pictures/dajin.jpg")
#先轉(zhuǎn)化為灰度圖
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

plt.subplot(131), plt.imshow(image, "image")
plt.title("source image"), plt.xticks([]), plt.yticks([])

plt.subplot(132), plt.hist(image.ravel(), 256)
plt.title("Histogram")

ret1, th1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU) #方法選擇為THRESH_OTSU

plt.subplot(133), plt.imshow(th1, "gray")
plt.title("OTSU,threshold is " + str(ret1)), plt.xticks([]), plt.yticks([])

plt.show()

摳圖結(jié)果如下

但是這種算法對噪音和目標(biāo)大小十分敏感,背景和前景像素接近的時候分割效果并不好

Python摳圖程序源碼

零基礎(chǔ)學(xué)習(xí)python, 聽了若干節(jié)入門免費課,即興寫了個程序,作為練習(xí),實現(xiàn)摳圖。

摳圖的手工操作,是在PS軟件中,將圖片復(fù)制新建粘貼,主體保留,周圍作為背景擦除,

被擦除區(qū)域,透明格式。成功后保存成 png 格式文件備用(png格式允許存儲圖層,保持透明區(qū)域)。手工操作費力費時,操作不當(dāng)需要返回重新擦除,并且擦除精度隨操作者熟練程度各異。擦除一個人物對象的周邊,熟練者也需要幾分鐘。

python 語言,可以方便調(diào)用第三方功能包,實現(xiàn)摳圖目的,主體對象周邊比較平滑,程序執(zhí)行僅需要幾秒鐘,大大節(jié)約了人力和時間。

準(zhǔn)備

摳圖需要第三方功能包 removebg,安裝后才可以操作。安裝功能包需要在Windows 的dos 窗口,win+r 熱鍵調(diào)出運行對話框,輸入 cmd 命令,打開 dos 窗口。dos窗口輸入:

pip install removebg<回車>  (等待下載安裝結(jié)束) os包、time 包為系統(tǒng)自帶,無需安裝。

RemoveBg函數(shù)調(diào)用,需要APIKEY 實參(可稱密碼),這是一個多位字符串。獲取需要在 url = www.remove.bg 網(wǎng)站注冊,獲得免費APIKEY碼。尷尬的是,每日僅允許處理50張圖片。

程序構(gòu)思

1)要求允許處理多張jpg格式圖片,顯示運行進度, 適當(dāng)?shù)挠脩艚换ィ?轉(zhuǎn)成exe發(fā)布。

2)關(guān)鍵代碼,處理單張圖片的代碼僅兩行:

rmbg = RemoveBg('apiKey碼', '錯誤信息記錄文件名')? #56行

向網(wǎng)站發(fā)出獲取API 調(diào)用對象的請求,返回對象

rmbg.remove_background_from_img_file('./picture/' + item) ?#74行

使用 rmbg 對象的方法,摳一張圖。

3)檢查圖片存放位置(文件夾存在否, 不存在則創(chuàng)建文件夾并退出)

4)檢查文件夾中有沒有文件,沒有則顯示信息并退出, 有則重新建表剔除非jpg格式文件。

5)檢查與處理摳圖定義了多個函數(shù),避免程序條理混亂,不易閱讀

  • readkey() -- 讀取APIkey 碼文件;
  • founddir() -- 檢查存放圖片文件的文件夾是否存在,可發(fā)出提示信息;
  • Cutout() -- 摳圖,含檢查圖片文件是否存在,以及剔除非jpg格式文件,并有提示;

6)主程序段,位于最后,明確提示操作準(zhǔn)備,交互是否繼續(xù),或取消。

7) 打包成 exe 文件(略)

完整代碼截圖如下,每條語句均有功能注釋

1 引用有關(guān)處理包

2 定義一個函數(shù),自附帶文件讀取 apikye 碼值

3. 定義搜索目錄的函數(shù),返回真/假。

4 定義摳圖處理的主函數(shù)

4 主程序

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python中__new__和__init__的區(qū)別與聯(lián)系

    詳解Python中__new__和__init__的區(qū)別與聯(lián)系

    在Python中,每個對象都有兩個特殊的方法:__new__和__init__,本文將詳細(xì)介紹這兩個方法的不同之處以及它們之間的聯(lián)系,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • PyCharm第一次安裝及使用教程

    PyCharm第一次安裝及使用教程

    本文通過圖文并茂的形式給大家介紹PyCharm第一次安裝及使用教程,分步驟通過實際案例給大家操作演示,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • keras實現(xiàn)VGG16方式(預(yù)測一張圖片)

    keras實現(xiàn)VGG16方式(預(yù)測一張圖片)

    這篇文章主要介紹了keras實現(xiàn)VGG16方式(預(yù)測一張圖片),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 將python2.7添加進64位系統(tǒng)的注冊表方式

    將python2.7添加進64位系統(tǒng)的注冊表方式

    今天小編就為大家分享一篇將python2.7添加進64位系統(tǒng)的注冊表方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python使用tkinter實現(xiàn)透明窗體

    python使用tkinter實現(xiàn)透明窗體

    一直在思索實現(xiàn)一個透明的窗體,然后可以基于這個窗體可以開發(fā)出各種好玩的應(yīng)用(如桌面運動的小人、運動的小球、截圖、錄制GIF等等),今天無意間居然讓我把其中一個最核心的技術(shù)難關(guān)突破了,我非常高興,也借這個機會跟大家分享一下。
    2021-05-05
  • python 字符串的駐留機制及優(yōu)缺點

    python 字符串的駐留機制及優(yōu)缺點

    字符串駐留是一種僅保存一份相同且不可變字符串的方法。這篇文章主要介紹了python 字符串的駐留機制,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 使用虛擬環(huán)境打包python為exe 文件的方法

    使用虛擬環(huán)境打包python為exe 文件的方法

    這篇文章主要介紹了關(guān)于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Python3.4實現(xiàn)遠(yuǎn)程控制電腦開關(guān)機

    Python3.4實現(xiàn)遠(yuǎn)程控制電腦開關(guān)機

    這篇文章主要為大家詳細(xì)介紹了Python3.4實現(xiàn)遠(yuǎn)程控制電腦開關(guān)機的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 對Python獲取屏幕截圖的4種方法詳解

    對Python獲取屏幕截圖的4種方法詳解

    今天小編就為大家分享一篇對Python獲取屏幕截圖的4種方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 詳解pyppeteer(python版puppeteer)基本使用

    詳解pyppeteer(python版puppeteer)基本使用

    這篇文章主要介紹了詳解pyppeteer(python版puppeteer)基本使用 ,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評論