Exemplo n.º 1
0
def psnr_metric(y_true, y_pred):
    return psnr(y_true, y_pred, y_range)
Exemplo n.º 2
0
 def psnr(self, y_true, y_pred):
     return tf.reduce_mean(tfimg.psnr(y_true, y_pred, max_val=self.max_val))
Exemplo n.º 3
0
def psnr_pred(y_true, y_pred):
    return image.psnr(y_true, y_pred, max_val=1.0)
Exemplo n.º 4
0
        img_outputs = utils.convert_to_image_domain(freq_outputs)
    else:
        img_outputs = model.predict(img_inputs)
        freq_outputs = utils.convert_to_frequency_domain(img_outputs)

    mag_outputs = np.expand_dims(np.abs(utils.join_reim(img_outputs)), -1)

    ssim = image.ssim(tf.convert_to_tensor(mag_outputs, dtype=tf.float32),
                      tf.convert_to_tensor(mag_label, dtype=tf.float32),
                      np.max(mag_label),
                      filter_size=11,
                      filter_sigma=1.5,
                      k1=0.01,
                      k2=0.03).numpy()
    psnr = image.psnr(tf.convert_to_tensor(mag_outputs, dtype=tf.float32),
                      tf.convert_to_tensor(mag_label, dtype=tf.float32),
                      np.max(mag_label)).numpy()

    output_file = os.path.join(model_dir, exp_str + '_test_output.h5')
    if os.path.exists(output_file):
        os.remove(output_file)
    file = h5py.File(output_file, "w")

    dataset = file.create_dataset("img_outputs",
                                  np.shape(img_outputs),
                                  data=img_outputs)
    dataset = file.create_dataset("freq_outputs",
                                  np.shape(freq_outputs),
                                  data=freq_outputs)
    dataset = file.create_dataset("mag_outputs",
                                  np.shape(mag_outputs),
Exemplo n.º 5
0
def psnr(hr, sr):
    return tfimg.psnr(hr, sr, 1)
Exemplo n.º 6
0
    data_path = path + '\\data\\'
    log_file = path + '\\log_total.txt'  # 储存计算psnr值的位置

    n = 100  # 压缩100张bmp图片
    lf = open(log_file, 'w')

    for i in range(n):
        bmp_file = data_path + str(i + 1) + '.bmp'  # 第i+1张bmp图片
        bmp_img = cv2.imread(bmp_file)

        lf.write('{}.jpg\n'.format(i + 1))

        for qf in range(1, 101):  # 对1-100范围内的qf计算bpp和psnr的值
            lf.write('qf: {}\n'.format(qf))
            buffer = cv2.imencode('.jpg', bmp_img,
                                  [int(cv2.IMWRITE_JPEG_QUALITY), qf])[1]
            bpp_val = (buffer.size * 8) / (1280 * 720)  # 该图片的码率bpp

            jpg_img = cv2.imdecode(buffer, cv2.IMREAD_COLOR)
            psnr_val = image.psnr(bmp_img, jpg_img, max_val=255)  # 该图片的psnr

            psnr_bpp_val = psnr_val / bpp_val  # 遗留问题,本来打算作为其它用途,但是好像并没有用到,避免删改出现不必要的bug

            lf.write('psnr: {}\n'.format(psnr_val))
            lf.write('bpp: {}\n'.format(bpp_val))
            lf.write('psnr_bpp: {}\n'.format(psnr_bpp_val))

        lf.write('\n\n')

    lf.close()
Exemplo n.º 7
0
Arquivo: GA.py Projeto: sokli/bmp2jpg
def PSNR(o_img, r_img_org):
    width, height = 1280, 720
    r_img = cv2.resize(r_img_org, (width, height), cv2.INTER_CUBIC)

    return image.psnr(o_img, r_img, max_val=255).numpy()
Exemplo n.º 8
0
def mean_psnr(gt_photos, outputs):
    return np.mean(image.psnr(gt_photos, outputs, 1))
Exemplo n.º 9
0
def PSNR(y_true, y_pred):
    return tfimage.psnr(y_true, y_pred, max_val=1.0)