ISCAS007 / PaperReading

Computer Vision Paper Reading for ISCAS
GNU General Public License v3.0
7 stars 6 forks source link

zzz #1

Closed yzbx closed 6 years ago

yzbx commented 6 years ago

liufang@dp:~/pix2pix-tensorflow/completion_data/flower_test_result2 liufang@dp:~/pix2pix-tensorflow/completion_data/flower_test_result2/image

yzbx commented 6 years ago
import os
import cv2
import sys
import numpy as np

def evaluate(input_path, output_path, target_path, threshold=10):
    input_image = cv2.imread(input_path)
    output_image = cv2.imread(output_path)
    target_image = cv2.imread(target_path)
    # print (target_path)
    mask_3d = (target_image != input_image)
    mask = np.sum(mask_3d, axis=-1) > 0

    raw_dif = cv2.absdiff(target_image, output_image)

    # dif=np.sum(raw_dif,axis=-1)
    dif = np.mean(raw_dif, axis=-1)
    # dif = np.max(raw_dif,axis=-1)
    # print (dif)
    F = np.sum(np.logical_and(dif > threshold,mask))
    T = np.sum(np.logical_and(dif <= threshold,mask))

    return T, F

# n11669921_26423-3-2-inputs.png   n11939491_55149-4-2-inputs.png
# n11669921_26423-3-2-outputs.png  n11939491_55149-4-2-outputs.png
# n11669921_26423-3-2-targets.png
# liufang@dp:~/pix2pix-tensorflow/completion_data/flower_test_output2
# liufang@dp:~/pix2pix-tensorflow/completion_data/flower_test_output2/image
if __name__ == '__main__':
    input_dir = '/home/liufang/pix2pix-tensorflow/completion_data/flower_test_result2/images/'
    output_dir = '/home/liufang/pix2pix-tensorflow/completion_data/flower_test_result2/images/'
    target_dir = '/home/liufang/pix2pix-tensorflow/completion_data/flower_test_result2/images/'
    list_input = os.listdir(input_dir)
    list_output = os.listdir(output_dir)
    list_target = os.listdir(target_dir)
    precision = 0.0
    count = 0
    for input in list_input:
        if "input" in input:
            for output in list_output:
                if "outputs" in output:
                    for target in list_target:
                        if "targets" in target:
                            n = 19
                            if input[0:n]==output[0:n] and input[0:n]== target[0:n]:
                                T, F = evaluate(os.path.join(input_dir, input), os.path.join(output_dir, output),
                                                os.path.join(input_dir, target))
                                precision += T / (F+T)
                                count = count + 1
    precision = precision / count
    print(precision)
yzbx commented 6 years ago

mask for dif target image and input image mask