C++ 如何从MATLAB实验室色标转换为OpenCV实验室色标?

C++ 如何从MATLAB实验室色标转换为OpenCV实验室色标?,c++,matlab,opencv,image-thresholding,lab-color-space,C++,Matlab,Opencv,Image Thresholding,Lab Color Space,我尝试在MATLAB中使用采样颜色,然后在OpenCV中使用L*a*b输出。但似乎存在规模错配。以下是MATLAB和OpenCV中的L*a*b比例: MATLAB:0MATLAB在其图像处理工具箱中使用国际颜色协会的颜色表示规范。ICC配置文件规范几乎普遍用于颜色规范和转换 ICC实验室指定实验室用于各种分辨率的配置文件转换空间。对于8位,使用无符号8位值。L*映射为0->0和100->255。对于a*和b*而言,值限制在-128和+127之间。因此,实际编码将128与a*和b*相加,以产生0到

我尝试在MATLAB中使用采样颜色,然后在OpenCV中使用L*a*b输出。但似乎存在规模错配。以下是MATLAB和OpenCV中的L*a*b比例:


  • MATLAB:0MATLAB在其图像处理工具箱中使用国际颜色协会的颜色表示规范。ICC配置文件规范几乎普遍用于颜色规范和转换

    ICC实验室指定实验室用于各种分辨率的配置文件转换空间。对于8位,使用无符号8位值。L*映射为0->0和100->255。对于a*和b*而言,值限制在-128和+127之间。因此,实际编码将128与a*和b*相加,以产生0到255之间的无符号值

    这些和其他更大比特大小的表示可在本规范第6.3.4.2节的表12和13中找到:


    大多数程序,如Photoshop、Tiff文件等,都使用ICC格式。此外,Matlab的函数包括各种转换函数,如
    lab2uint8(lab)
    可用于将平坦点实验室值转换为固定大小的正确表示形式,如无符号8位整数。

    Matlab在其图像处理工具箱中使用国际颜色协会的颜色表示规范。ICC配置文件规范几乎普遍用于颜色规范和转换

    ICC实验室指定实验室用于各种分辨率的配置文件转换空间。对于8位,使用无符号8位值。L*映射为0->0和100->255。对于a*和b*而言,值限制在-128和+127之间。因此,实际编码将128与a*和b*相加,以产生0到255之间的无符号值

    这些和其他更大比特大小的表示可在本规范第6.3.4.2节的表12和13中找到:

    大多数程序,如Photoshop、Tiff文件等,都使用ICC格式。此外,Matlab的函数还包括各种转换函数,如
    lab2uint8(lab)
    ,可用于将平坦点lab值转换为固定大小(如无符号8位整数)的正确表示形式