我正在基于opensurfaces dataset构建表面图像的数据集,但是有些图像具有怪异的小形状,对我的用例没有用。
因此,我正在尝试使用OpenCV / Numpy来获取此信息:
对此:
所以我要做的是提取形成正方形或矩形的最大像素连续片段(与白色像素不同)。
我可以用以下方法获得所有白色像素:
image_mastered = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
image_copy = image_mastered.copy()
non_surface = np.all(image_copy == [255,255,255], axis=-1)
image_copy[non_surface] = [255,255,255]
但是我不知道如何获得所需的片段。