我正在寻找一种方法来获得使用OpenCV给定图像中每个像素的所有RGB值的完整列表,现在我称之为"颜色量化"。
问题是,根据我在网上找到的,至少在这一点上,这个"颜色量化"的东西是关于直方图或"颜色还原"或类似的离散计算解决方案。
既然我知道我想要什么,而"互联网"似乎对这个词的意思有不同的看法,我想知道:也许没有一个真正的解决方案?OpenCV库中的一种可行的方法或工作算法
一般来说,量化是将具有实数(数学)值的输入信号转化为一组离散值的操作。实现此过程的一种可能算法是计算数据的直方图,然后保留与直方图中具有较高人口的n bin对应的n值。
你要做的事情可能会被称为颜色列表。如果您正在使用8位量化图像(类型CV_8UC3
),我的猜测是,您可以通过获取输入图像的直方图(bin宽度等于1)然后搜索结果中的非空箱子来完成您想要的操作。
色彩量化是在有限的数字色彩空间中对无限的自然色彩进行转换。无论如何,要创建一个全彩色的"直方图",你可以使用opencv的稀疏矩阵实现并编写自己的函数来计算它。当然,如果你没有关于图像的其他结构或连续性信息,你必须一个一个地访问像素。