欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python白底圖摳圖

錢斌斌1年前8瀏覽0評論

在圖像處理中,摳圖通常是一種非常常見的技術(shù),但是手動(dòng)摳圖需要花費(fèi)大量精力和時(shí)間。借助計(jì)算機(jī)視覺的技術(shù),我們可以使用Python來實(shí)現(xiàn)自動(dòng)摳圖。

在本文中,我們將介紹使用Python進(jìn)行白底圖摳圖的方法。白底圖摳圖是一種將圖片的背景摳掉,只保留主體部分的技術(shù)。我們使用的是OpenCV和Matplotlib庫。

import cv2
import numpy as np
from matplotlib import pyplot as plt
# 讀取圖片
img = cv2.imread('example.jpg')
# 轉(zhuǎn)換為灰度圖
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化處理
ret, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
# 進(jìn)行閉操作,填充圖像內(nèi)部的小孔洞
kernel = np.ones((3, 3), np.uint8)
closing = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel, iterations=2)
# 查找輪廓
contours, hierarchy = cv2.findContours(closing, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 繪制輪廓
cv2.drawContours(img, contours, -1, (0, 0, 255), 3)
# 顯示結(jié)果
plt.imshow(img)
plt.show()

代碼中的第一步是讀入圖像。然后將圖像轉(zhuǎn)換為灰度圖,并使用OTSU二值化處理。接著使用開閉操作對圖像進(jìn)行處理,最終找到圖像的輪廓。最后使用繪圖函數(shù)將輪廓繪制在原圖上并顯示。

在以上代碼中,我們使用的是cv2庫中的findContours函數(shù)來查找圖像的輪廓。這個(gè)函數(shù)接受三個(gè)參數(shù):輸入圖像、輪廓查找模式和輪廓逼近方法。該函數(shù)返回一個(gè)輪廓列表和層級信息。

在最后一步中,我們使用了Matplotlib庫來顯示圖像。該庫提供了imshow函數(shù)來顯示圖像。首先我們使用plt.imshow函數(shù)實(shí)現(xiàn)顯示,在最后再使用plt.show函數(shù)展示圖像。

通過以上代碼,我們可以輕松地進(jìn)行白底圖摳圖的操作,不需要再花費(fèi)大量的時(shí)間和精力手動(dòng)摳圖了。