opencv 如何在Python中创建自定义颜色Map?

ha5z0ras  于 2023-04-21  发布在  Python
关注(0)|答案(1)|浏览(296)

之前在这个平台上,我提出了一个关于“coverage count”定义的问题。然而,很明显,在信号处理平台上提出这个问题更合适。幸运的是,我能够获得正确的定义。此外,我能够编写Python代码来计算coverage count。然而,我遇到了一个关于色彩Map表的小问题,因为它不符合我所期望的规格。为了澄清,我提供了描述我目前拥有的与我想要实现的图像:

第1条在结果中的相对位置:

第2条在结果中的相对位置:

结果:

我得到的覆盖数:

我想要获取的覆盖计数(另一个图像)示例(我想要的色彩Map表):

在最后一幅图像中,左侧显示了一个覆盖率计数。我如何获得与该计数类似的覆盖率计数?
下面的代码是我用来获得问题中提到的覆盖率计数的代码:

non_black_pixels = np.any(piece_image != [0, 0, 0], axis=-1)
        # Increment the corresponding pixels in the coverage_count
        coverage_count[non_black_pixels] += 1
        # Normalize the coverage_count matrix to the full 8-bit grayscale range (0-255)
        normalized_coverage_count = cv2.normalize(coverage_count, None, 0, 255, cv2.NORM_MINMAX, dtype=cv2.CV_8U)
        # Apply a colormap to the normalized grayscale image
        colorful_coverage_count = cv2.applyColorMap(normalized_coverage_count, cv2.COLORMAP_JET)
        # Display the colorful coverage_count image
        cv2.imshow("Colorful Coverage Count", colorful_coverage_count)
        cv2.waitKey(0)
        cv2.destroyAllWindows()
l3zydbqr

l3zydbqr1#

在查看我的代码时,我注意到以下行:
colorful_coverage_count = cv2.applyColorMap(normalized_coverage_count, cv2.COLORMAP_JET)
这让我相信可能还有其他可用的颜色Map表,促使我在Google上进行搜索。事实证明,有许多颜色Map表可供选择,如OpenCV Colormaps文档中所列。
因此,更改色彩Map表非常简单,只需将前面提到的代码行中的cv2.COLORMAP_JET参数修改为所需色彩Map表的名称即可。

相关问题