コード例 #1
0
def main():
    path_pics = '../../../../img/test_image'
    pic_list = open_pics(path_pics)
    for pic_nam, pic_path in pic_list:
        # ---- open the reference image
        rgb_img = Image.open(pic_path)
        n_colors_list = range(1, 21)

        testimg_list = []
        for i in n_colors_list:
            result = kmeans_quantize(rgb_img, i)
            testimg_list.append(result)

        # ---- rescale the reference image into [0,1]
        rgb_raster = np.array(rgb_img)
        lab_raster = skimage.color.rgb2lab(rgb_raster)
        rescale_lab_raster = (lab_raster + [0, 128, 128]) / [100, 255, 255]

        # ---- compute 4 IQAs
        PSNR_score_list, L_PSNR_score_list = psnr_list(rescale_lab_raster, testimg_list)
        SSIM_score_list, L_SSIM_score_list = ssim_list(rescale_lab_raster, testimg_list)
        VIF_score_list = vif_list(rescale_lab_raster, testimg_list)
        GMSD_score_list = gmsd_list(rescale_lab_raster, testimg_list)

        # ----- build the framework and save csv
        score_dic = {"PSNR": PSNR_score_list, "SSIM": SSIM_score_list, "VIF": VIF_score_list, "GMSD": GMSD_score_list}
        score_table = DataFrame(score_dic)
        score_table.to_csv('lab_results/lab_50/%02dscore_table.csv' % pic_nam)

        # ----  build L* and lab framework
        l_score_dic = {"PSNR": PSNR_score_list, "L_PSNR": L_PSNR_score_list, "SSIM": SSIM_score_list,
                       "L_SSIM": L_SSIM_score_list}
        l_score_table = DataFrame(l_score_dic)

        l_score_table.to_csv('lab_results/L_compare_50/%02d_L_score.csv' % pic_nam)
コード例 #2
0
def main():
    # ---- open the reference image
    rgb_img = Image.open('../../../../img/img01.jpg')
    n_colors_list = range(1, 21)

    testimg_list = []
    for i in n_colors_list:
        result = octree_quantize(rgb_img, i)
        testimg_list.append(result)

    # ---- rescale the reference image into [0,1]
    rgb_raster = np.array(rgb_img)
    lab_raster = skimage.color.rgb2lab(rgb_raster)
    rescale_lab_raster = (lab_raster + [0, 128, 128]) / [100, 255, 255]

    # ---- compute 4 IQAs
    PSNR_score_list, L_PSNR_score_list = psnr_list(rescale_lab_raster,
                                                   testimg_list)
    SSIM_score_list, L_SSIM_score_list = ssim_list(rescale_lab_raster,
                                                   testimg_list)
    VIF_score_list = vif_list(rescale_lab_raster, testimg_list)
    GMSD_score_list = gmsd_list(rescale_lab_raster, testimg_list)

    # ----- build the framework and save csv
    score_dic = {
        "PSNR": PSNR_score_list,
        "SSIM": SSIM_score_list,
        "VIF": VIF_score_list,
        "GMSD": GMSD_score_list
    }
    score_table = DataFrame(score_dic)
    score_table.to_csv('lab_results/01score_table.csv')

    # ----  build L* and lab framework
    l_score_dic = {
        "PSNR": PSNR_score_list,
        "L_PSNR": L_PSNR_score_list,
        "SSIM": SSIM_score_list,
        "L_SSIM": L_SSIM_score_list
    }
    l_score_table = DataFrame(l_score_dic)
    l_score_table.to_csv('lab_results/L_compare_10/01_L_score.csv')