Python OpenCV: 移除图像白色边框并裁剪
以下是一个基于 Python 的 OpenCV2 代码示例,它可以计算图像四周的白色边框大小,并裁剪掉白色部分,将剩余部分图像另存为新图片。
import cv2
# 读取原始图像
img = cv2.imread('original_image.jpg')
# 将原始图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算图像边缘的白色像素数量
top = 0
bottom = 0
left = 0
right = 0
while cv2.mean(gray[top,:])[0] == 255:
top += 1
while cv2.mean(gray[gray.shape[0]-bottom-1,:])[0] == 255:
bottom += 1
while cv2.mean(gray[:,left])[0] == 255:
left += 1
while cv2.mean(gray[:,gray.shape[1]-right-1])[0] == 255:
right += 1
# 裁剪图像
crop = img[top:gray.shape[0]-bottom, left:gray.shape[1]-right]
# 保存裁剪后的图像
cv2.imwrite('cropped_image.jpg', crop)
这段代码首先读取原始图像并将其转换为灰度图像。然后,它通过计算图像边缘的白色像素数量来确定图像四周的白色边框大小。最后,它使用 OpenCV 的裁剪功能裁剪图像,并将裁剪后的图像保存为新图像。
原文地址: https://www.cveoy.top/t/topic/oW0X 著作权归作者所有。请勿转载和采集!