Python-OpenCV中的圖像處理-GrabCut算法交互式前景提取

Python-OpenCV中的圖像處理-GrabCut算法交互式前景提取

  • Python-OpenCV中的圖像處理-GrabCut算法交互式前景提取

Python-OpenCV中的圖像處理-GrabCut算法交互式前景提取

cv2.grabCut(img: Mat, mask: typing.Optional[Mat], rect, bgdModel, fgdModel, iterCount, mode=…)

  • img:輸入圖像
  • mask:掩模圖像,用來確定那些區域是背景,前景,可能是前景/背景等。
    可以設置為: cv2.GC_BGD,cv2.GC_FGD,cv2.GC_PR_BGD,cv2.GC_PR_FGD,或者直接輸入 0,1,2,3 也行。
  • rect :包含前景的矩形,格式為 (x,y,w,h)
  • bdgModel, fgdModel:算法內部使用的數組. 你只需要創建兩個大小為 (1,65),數據類型為 np.float64 的數組。
  • iterCount :算法的迭代次數
  • mode :可以設置為 cv2.GC_INIT_WITH_RECT 或 cv2.GC_INIT_WITH_MASK,也可以聯合使用。這是用來確定我們進行修改的方式,矩形模式或者掩模模式。
import numpy as np
import cv2
from matplotlib import pyplot as pltimg = img = cv2.imread('./resource/opencv/image/messi5.jpg', cv2.IMREAD_COLOR)
mask = np.zeros(img.shape[:2], np.uint8)bgdModel = np.zeros((1, 65), np.float64)
fgdModel = np.zeros((1, 65), np.float64)rect = (50, 50, 450, 450)# 函數返回值是更新的 mask, bgdModel, fgdModel
cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT)mask2 = np.where((mask==2) | (mask==0), 0, 1).astype('uint8')
img = img*mask2[:, :, np.newaxis]plt.imshow(img), plt.colorbar(), plt.show()

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38125.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38125.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38125.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據庫連接池

什么是數據庫連接池 使用數據庫連接池的好處是減少了連接的創建和關閉的開銷,提高了數據庫訪問的性能和效率。 為什么我們要使用數據庫連接池 我們使用數據庫連接池的主要原因是為了提高應用程序訪問數據庫的性能和效率。使用數據庫連接池的好處: 連接重用&…

【Apple】Logic Pro導入7.1.4.wav并自動分析多聲道

Step1: 創建空項目 Step2: 選中下圖“使用麥克風或...”這一項,底下要創建的軌道數填1就行。 點擊創建之后: Step3: 拖動文件、拖動文件、拖動文件到項目中,并選中復選框“所有所選文件都源自一個項目(將創建一個智能速度多軌道集…

[NLP]LLM 訓練時GPU顯存耗用量估計

以LLM中最常見的Adam fp16混合精度訓練為例,分析其顯存占用有以下四個部分: GPT-2含有1.5B個參數,如果用fp16格式,只需要1.5G*2Byte3GB顯存, 但是模型狀態實際上需要耗費1.5B*1624GB. 比如說有一個模型參數量是1M,在…

什么是前端框架?怎么學習? - 易智編譯EaseEditing

前端框架是一種用于開發Web應用程序界面的工具集合,它提供了一系列預定義的代碼和結構,以簡化開發過程并提高效率。 前端框架通常包括HTML、CSS和JavaScript的庫和工具,用于構建交互式、動態和響應式的用戶界面。 學習前端框架可以讓您更高效…

nginx的負載均衡

nginx的負載均衡 文章目錄 nginx的負載均衡1.以多臺虛擬機作服務器1.1 在不同的虛擬機上安裝httpd服務1.2 在不同虛擬機所構建的服務端的默認路徑下創建不同標識的文件1.3 使用windows本機的瀏覽器分別訪問3臺服務器的地址 2.在新的一臺虛擬機上配置nginx實現反向代理以及負載均…

使用element UI 的el-upload上傳圖片并攜帶參數的用法

直接看代碼&#xff1a;前端實現 <div class"upload"><el-uploadclass"upload-demo"name"upload_name":data"{user_name:user_name}"action"http://localhost:8000/api/deal_pest_Image":show-file-list"fal…

vb+sql汽車配件管理系統設計與實現

摘 要 目前汽車配件銷售企業大多數在其連鎖店的管理還是手工進行,隨著汽車配件行業的迅速發展,手工管理的種種弊端暴露無疑,給銷售企業的發展帶來了不必要的麻煩。為了規范企業內部管理,提高企業業務管理水平,更好的為客戶服務,應采用計算機來管理汽車配件的進銷存業務。…

【Sklearn】基于樸素貝葉斯算法的數據分類預測(Excel可直接替換數據)

【Sklearn】基于樸素貝葉斯算法的數據分類預測(Excel可直接替換數據) 1.模型原理2.模型參數3.文件結構4.Excel數據5.下載地址6.完整代碼7.運行結果1.模型原理 模型原理: 樸素貝葉斯分類是基于貝葉斯定理的一種分類方法。它假設特征之間相互獨立(樸素性),從而簡化計算過…

01|Java中常見錯誤或不清楚

補充&#xff1a;length vs length() vs size() 1 java中的length屬性是針對數組說的,比如說你聲明了一個數組,想知道這個數組的長度則用到了length這個屬性. 2 java中的length()方法是針對字符串String說的,如果想看這個字符串的長度則用到length()這個方法. 3.java中的siz…

【Vue-Router】命名視圖

命名視圖 同時 (同級) 展示多個視圖&#xff0c;而不是嵌套展示&#xff0c;例如創建一個布局&#xff0c;有 sidebar (側導航) 和 main (主內容) 兩個視圖&#xff0c;這個時候命名視圖就派上用場了。 可以在界面中擁有多個單獨命名的視圖&#xff0c;而不是只有一個單獨的出…

Python獲取、修改主機名稱和IP地址實踐

Python獲取、修改主機名稱和IP地址的方法有多種&#xff0c;內置socket模塊、執行系統命令、第三方模塊等等&#xff0c;本文只是完成功能的一次成功的實踐。 1. 獲取、修改主機名稱 本案例使用python的socket模塊獲取、修改主機名稱&#xff0c;socket模塊是一個用于實現網絡…

UML-A 卷-知識考卷

UML-A 卷-知識考卷 UML有多少種圖&#xff0c;請列出每種圖的名字&#xff1a; 常用的幾種UML圖&#xff1a; 類圖&#xff08;Class Diagram&#xff09;&#xff1a;類圖是描述類、接口、關聯關系和繼承關系的圖形化表示。它展示了系統中各個類之間的靜態結構和關系。時序…

TFRecords詳解

內容目錄 TFRecords 是什么序列化(Serialization)tf.data 圖像序列化&#xff08;Serializing Images)tf.Example函數封裝 小結 TFRecords 是什么 TPU擁有八個核心&#xff0c;充當八個獨立的工作單元。我們可以通過將數據集分成多個文件或分片&#xff08;shards&#xff09;…

2023年7月京東洗衣機行業品牌銷售排行榜(京東數據分析軟件)

2023年上半年&#xff0c;洗衣機市場表現平淡&#xff0c;同環比來看出貨量都有一定程度的下滑。7月份&#xff0c;洗衣機市場仍未改變這一下滑態勢。 根據鯨參謀電商數據分析平臺的相關數據顯示&#xff0c;7月份&#xff0c;京東平臺洗衣機的銷量為109萬&#xff0c;環比下降…

web圖書管理系統Servlet+JSP+javabean+MySQL圖書商城圖書館 源代碼

本項目為前幾天收費幫學妹做的一個項目&#xff0c;Java EE JSP項目&#xff0c;在工作環境中基本使用不到&#xff0c;但是很多學校把這個當作編程入門的項目來做&#xff0c;故分享出本項目供初學者參考。 一、項目描述 web圖書管理系統ServletJSPjavabeanMySQL 系統有1權限…

Golang 程序性能優化利器 PGO 詳解(二):收集樣本數據和編譯

在軟件開發過程中&#xff0c;性能優化是不可或缺的一部分。無論是在Web服務、數據處理系統還是實時通信中&#xff0c;良好的性能都是至關重要的。Golang 從1.20版版本開始引入的 Profile Guided Optimization&#xff08;PGO&#xff09;機制能夠幫助更好地優化 Go 程序的性能…

【Centos】系統信息

CPU相關 # 如何查看linux系統和CPU型號&#xff0c;類型和大小 cat /proc/cpuinfo# 總核數 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 物理CPU個數 X 每顆物理CPU的核數 X 超線程數# 查看物理CPU個數 cat /proc/cpuinfo| grep "physical id"| sort| uniq| …

ChatGPT能代替搜索引擎嗎?ChatGPT和搜索引擎有什么區別?

ChatGPT和搜索引擎是兩種在信息獲取和交流中常用的工具&#xff0c;ChatGPT是一種基于人工智能技術的聊天機器人&#xff0c;而搜索引擎是一種在互聯網上搜索信息的工具。盡管它們都是依托互聯網與信息獲取和交流有關&#xff0c;部分功能重合&#xff0c;但在很多方面存在著明…

2023年7月京東美妝護膚品小樣行業數據分析(京東數據挖掘)

如今&#xff0c;消費者更加謹慎&#xff0c;消費決策也更加理性。在這一消費環境下&#xff0c;美妝護膚市場中&#xff0c;面對動輒幾百上千的化妝品&#xff0c;小樣或體驗裝無疑能夠降低消費者的試錯成本。由此&#xff0c;這門生意也一直備受關注。 并且&#xff0c;小樣…

git stash使用

假設你當前正在分支A上開發一個功能&#xff0c;并修改了一些代碼&#xff0c;運行git stash save "修改描述XXX"來保存當前工作目錄的更改到stash。 然后你可以切換到其它分支(比如分支B)進行其它任務。 當你回到分支A時&#xff0c;想恢復原來的開發狀態&#xf…