是否有方便的数据结构用于在图片中存储像素选择?
通过像素选择,我指的是使用选择工具获得的一组像素,例如图像编辑软件(矩形,套索,魔杖等)中的选择工具。可能存在漏洞,在一般情况下,选择比图片本身小(多)。
目标是能够保存/加载选择,显示所选像素只是一个单独的视图(边界框大小),使用特定算法中的选择(通常需要分割的算法)等。它应该使用尽可能少的内存尽可能使用空间,因为目标是将大量数据存储在数据库中。
到目前为止我找到的解决方案:
答案 0 :(得分:3)
布尔数组将采用栅格的W x H位加上额外的记帐(例如ROI限制)。这大致与边界框的面积成比例。
每个选定像素的像素坐标列表将采用32位(2x16位)。与布尔数组相比,这是非常大的,除非选择非常空洞。
另一个有用的表示是行程编码,它逐行计算连续像素。这种表示每次运行大约需要16位。换句话说,当运行的平均长度是n个像素时,每像素16 / n位。这适用于大型填充形状,但对于孤立像素则效果不佳。
最后,您还可以考虑将形状的轮廓存储为像素列表(每像素32位)或Freeman链(每像素仅3位),这相对于完全列举。
正如您所看到的,选择是不安的,因为不同表示的效率很大程度上取决于选择的形状。另一个重要方面是给定表示可以方便地用于目标处理选择。