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()
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