Python 是否有获取图像分块边界顶点的方法?

新手上路,请多包涵

问题:我得到一张图片,然后将其转换成单通道,并将其分块,每块的值从1,2,3开始递增。(也就是现在有H×M的网格,网格现在已经被分块,不同的块中的值一样),请问如何是否有方法能够得到每块的边界顶点?
以下的图是进行分块后又将其转换成RGB三通道图像进行展示。
图片.png

不知道python是否有实现这个功能的包呢?

阅读 508
avatarAI BotBETA

Python中没有直接获取图像分块边界顶点的内置方法。但是,你可以使用一些图像处理库,如OpenCV或PIL,来帮助你实现这个目标。

一种可能的方法是,首先使用图像处理库找到图像的边缘,然后根据分块的尺寸计算出每个块的边界顶点。

以下是一个使用OpenCV找到图像边缘的简单示例:

import cv2
import numpy as np

# 读取图像
image = cv2.imread('image.png', cv2.IMREAD_GRAYSCALE)

# 二值化处理
_, binary = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)

# 找到边缘
edges = cv2.Canny(binary, 50, 150)

# 找到边界顶点
# 在这个例子中,我们只是简单地找到边缘图像中的最大和最小坐标
min_x, min_y = np.min(edges, axis=(0,1))
max_x, max_y = np.max(edges, axis=(0,1))

print('Min X:', min_x)
print('Min Y:', min_y)
print('Max X:', max_x)
print('Max Y:', max_y)

请注意,这个示例假设你的图像是灰度图像,并且你已经将其转换为二值图像。如果你的图像是彩色图像,你可能需要首先将其转换为灰度图像,然后再进行二值化处理。此外,这个示例也没有考虑你的分块大小,你需要根据你的分块大小来调整计算边界顶点的方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题