0
点赞
收藏
分享

微信扫一扫

python图像处理的抠图

在Python中,图像处理和抠图常常使用PIL(Python Imaging Library)和OpenCV等库。以下是一个简单的例子,我们将使用OpenCV进行抠图:

python import cv2
import numpy as np

加载图片

img = cv2.imread('path_to_your_image.jpg')

转为灰度图像

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

进行二值化处理

ret, mask = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY)

查找轮廓

contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

创建一个全黑的背景

background = np.zeros(img.shape[:2], dtype="uint8")

画出轮廓

cv2.drawContours(background, contours, -1, (255,255,255), 1)

cv2.imshow("Image", img)
cv2.imshow("Mask", mask)
cv2.imshow("Background", background)
cv2.waitKey(0)
cv2.destroyAllWindows() 这个脚本会找到图片中的轮廓,并创建一个新的图像,该图像仅包含原始图像中的轮廓。注意,二值化阈值(在cv2.threshold函数中)可能需要根据你的图像进行调整。这个值决定了哪些像素会被视为白色(包含在轮廓中),哪些像素会被视为黑色(不包含在轮廓中)。

举报

相关推荐

0 条评论