title: How to find PSNR and SSIM of two video files in python using openCV and other libraries?
body: <p>I want to find out PSNR and SSIM of two video files in python using openCv and numpy.
  How to find PSNR in python</p>
  
  <p>I tried below code for SSIM</p>
  
  <pre><code># compute the Structural Similarity Index (SSIM) between the two
  # images, ensuring that the difference image is returned
  (score, diff) = compare_ssim(grayA, grayB, full=True)
  diff = (diff * 255).astype("uint8")
  print("SSIM: {}".format(score))
  
  # threshold the difference image, followed by finding contours to
  # obtain the regions of the two input images that differ
  thresh = cv2.threshold(diff, 0, 255,
          cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
  cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL,
          cv2.CHAIN_APPROX_SIMPLE)
  cnts = cnts[0] if imutils.is_cv2() else cnts[1]
  
  # loop over the contours
  
  for c in cnts:
          # compute the bounding box of the contour and then draw the
          # bounding box on both input images to represent where the two
          # images differ
          (x, y, w, h) = cv2.boundingRect(c)
          cv2.rectangle(imageA, (x, y), (x + w, y + h), (0, 0, 255), 2)
          cv2.rectangle(imageB, (x, y), (x + w, y + h), (0, 0, 255), 2)
  </code></pre>