Exemple #1
0
def main(img):
    saliency_methods = [ ('dictionary_ica_saliency', salienpy.dictionary_frequency.dictionary_saliency),
                         ('frequency_tuned', salienpy.frequency_tuned.frequency_tuned_saliency),
                         ('signature', salienpy.signature.signature_saliency),
                       ]

    for name, method in saliency_methods:
        print name
        t = time()
        sal_img = method(img.copy())
        t = t - time()
        sal_img = minmaxnormalization(sal_img)
        cv2.imshow('%s  took %ss'%(name, t),255 -  (255 * sal_img).astype('uint8'))
        cv2.imwrite(name+'.png',255 -  (255 * sal_img).astype('uint8'))
    cv2.waitKey()
Exemple #2
0
def plot_dif(dif):
        vmax=max([abs(i) for i in (dif.min(), dif.max())])
        dif[0][0] = 3.7
        dif[1][0]= -3.7
        fig = plt.figure()
        ax = fig.add_subplot(111)
        cax = ax.imshow(dif, cmap=cm.bwr)
        cbar= fig.colorbar(cax)
        plt.savefig(sys.argv[5])




if __name__ == '__main__':
    if len(sys.argv) > 5:
        img_a  = cv2.imread(sys.argv[1])
        img_b  = cv2.imread(sys.argv[2])
        sal_a, sal_b = main(img_a, img_b)
        cv2.imwrite(sys.argv[3],(255 * minmaxnormalization(sal_a)).astype('uint8'))
        cv2.imwrite(sys.argv[4],(255 * minmaxnormalization(sal_b)).astype('uint8'))
        dif = sal_a - sal_b
        dif_abs =  numpy.abs(dif)
        #cv2.imwrite('dif_sal_absolut.png',
        #(255 * minmaxnormalization(dif_abs)).astype('uint8'))
        plot_dif(dif)
    else:
        import pprint
        pprint.pprint(sys.argv)

# compare_imgs.py