import cv2
import numpy as np

# 读取输入图像
image = cv2.imread('grid_origin.png')

# 将图像从 BGR 转换为灰度图
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 设定阈值,保留深色矩形模块
thresh_value = 100
ret, thresholded_image = cv2.threshold(gray_image, thresh_value, 255, cv2.THRESH_BINARY)

# 使用形态学操作进一步处理图像
kernel = np.ones((5, 5), np.uint8)
morph_image = cv2.morphologyEx(thresholded_image, cv2.MORPH_CLOSE, kernel)

# 在原始图像上绘制保留的深色矩形模块
result_image = image.copy()

# 获取图像的高度和宽度
height, width, channels = result_image.shape

print("图像的宽度为: ", width)
print("图像的高度为: ", height)

white_image = np.ones((height, width, 3), dtype=np.uint8) * 255


result_image = white_image
result_image[morph_image == 0] = [0, 0, 0]  # 将深色区域设为黑色

# 显示保留深色矩形模块的图像
# 保存带有深色矩形模块的图像
cv2.imwrite("result_image.png", result_image)

07-03 10:14