def plot_ssim(arg): """ SSIM """ t, st = vars(arg)['filename'], vars(arg)['filename_diff'] for f in st: vars(arg)['filename_diff'] = f yuv = YCbCr(**vars(arg)) ssim = [s for s in yuv.ssim()][:-2] N = len(ssim) ind = np.arange(N) plt.plot(ind, ssim, 'o-', label=f[-8:-4]) del yuv plt.legend() plt.title(create_title_string(t, st)) plt.ylabel('Index') plt.xlabel('frame') plt.grid(True) plt.show()
def plot_ssim(arg): """ SSIM """ t, st = vars(arg)['filename'], vars(arg)['filename_diff'] for f in st: vars(arg)['filename_diff']=f yuv = YCbCr(**vars(arg)) ssim = [s for s in yuv.ssim()][:-2] N = len(ssim) ind = np.arange(N) plt.plot(ind, ssim, 'o-',label=f[-8:-4]) del yuv plt.legend() plt.title(create_title_string(t, st)) plt.ylabel('Index') plt.xlabel('frame') plt.grid(True) plt.show()
def test_9(self): """ ssim """ a = YCbCr(width=352, height=288, filename='foreman_cif_frame_0.yuv', yuv_format_in='YV12', filename_diff='foreman_cif_frame_1.yuv') ret = a.ssim().next() self.assertEqual(ret, 0.8714863949031405)
def plot_ssim(arg): """ SSIM """ yuv = YCbCr(**vars(arg)) ssim = [s for s in yuv.ssim()] N = len(ssim) ind = np.arange(N) # the x locations for the groups plt.figure() plt.title(create_title_string(arg)) plt.plot(ind, ssim, 'ro-') plt.ylabel('Index') plt.xlabel('frame') plt.grid(True) plt.show()
def on_b_calc(self, event): """ Calculate """ f1 = self.t_load_f1.GetValue() f2 = self.t_load_f2.GetValue() a = self.algo.GetValue() f = self.yuv_format.GetValue() s = self.t_size.GetValue() w, h = s.split('x') # are all parameters ok? if not os.path.isfile(f1) or not os.path.isfile(f2): print 'faulty inputfiles' raise IOError if not a in self.algo_list: print 'faulty algorithm' raise KeyError if not f in self.yuv_format_list: print 'faulty format' raise KeyError if not w.isdigit() or not h.isdigit(): print 'faulty size' raise TypeError y = YCbCr(width=int(w), height=int(h), filename=f1, yuv_format_in=f, filename_diff=f2, num=20) if 'psnr' in a: psnr = [p for p in y.psnr()][:-2] if a != 'psnr-all': ind = np.arange(len(psnr)) # the x locations for the groups self.axes.clear() self.axes.plot(ind, [i[self.algo_map[a]] for i in psnr], 'o-', picker=5) self.axes.set_title(os.path.basename(f1) + ' ' + a) self.axes.set_ylabel('dB') self.axes.set_xlabel('frame') self.canvas.draw() elif a == 'psnr-all': ind = np.arange(len(psnr)) # the x locations for the groups self.axes.clear() self.axes.plot(ind, [i[0] for i in psnr], 'ko-', label='Y', picker=5) self.axes.plot(ind, [i[1] for i in psnr], 'bo-', label='Cb', picker=5) self.axes.plot(ind, [i[2] for i in psnr], 'ro-', label='Cr', picker=5) self.axes.plot(ind, [i[3] for i in psnr], 'mo-', label='BD', picker=5) self.axes.set_title(os.path.basename(f1) + ' ' + a) self.axes.legend() self.axes.set_ylabel('dB') self.axes.set_xlabel('frame') self.canvas.draw() elif 'ssim' in a: ssim = [s for s in y.ssim()][:-2] ind = np.arange(len(ssim)) # the x locations for the groups self.axes.clear() self.axes.plot(ind, ssim, 'o-', picker=5) self.axes.set_title(os.path.basename(f1) + ' ' + a) self.axes.set_ylabel('index') self.axes.set_xlabel('frame') self.canvas.draw() else: print '~tilt'
fname2 = sys.argv[2] w = int(sys.argv[3]) h = int(sys.argv[4]) if sys.argv[5] in FMT: fmt = sys.argv[5] else: usage(sys.argv[0]) Y = YCbCr(width=w, height=h, filename=fname1, yuv_format_in=fmt, filename_diff=fname2) data1 = load_data(Y, fname1) data2 = load_data(Y, fname2) psnr = Y.psnr().next()[0] ssim = Y.ssim().next() # First subplot figure() frame1 = subplot(121) plt.imshow(data1, cmap=cm.gray, hold=True) frame1.axes.get_xaxis().set_visible(False) frame1.axes.get_yaxis().set_visible(False) title("PSNR = %f" % psnr) # Second subplot frame2 = subplot(122) plt.imshow(data2, cmap=cm.gray, hold=True) frame2.axes.get_xaxis().set_visible(False) frame2.axes.get_yaxis().set_visible(False) title("SSIM = %f" % ssim)
if sys.argv[5] in FMT: fmt = sys.argv[5] else: usage(sys.argv[0]) Y = YCbCr(width=w, height=h, filename=fname1, yuv_format_in=fmt, filename_diff=fname2) data1 = load_data(Y, fname1) data2 = load_data(Y, fname2) psnr = Y.psnr().next()[0] ssim = Y.ssim().next() # First subplot figure() frame1 = subplot(121) plt.imshow(data1, cmap=cm.gray, hold=True) frame1.axes.get_xaxis().set_visible(False) frame1.axes.get_yaxis().set_visible(False) title("PSNR = %f" % psnr) # Second subplot frame2 = subplot(122) plt.imshow(data2, cmap=cm.gray, hold=True) frame2.axes.get_xaxis().set_visible(False) frame2.axes.get_yaxis().set_visible(False) title("SSIM = %f" % ssim)