title: Python OpenCV Error: Sizes of input arguments do not match
body: <p>I'm creating an application that uses OpenCV and other Python libraries to grab a region of someone's screen, and compare it to a template image. This code works perfectly until the "dst" line. At that point I recieve the error</p>
  
  <blockquote>
    <p>141 825 3 141 825 3 OpenCV Error:
    Sizes of input arguments do not match
    (The operation is neither 'array op
    array' (where arrays have the same
    size and the same number of channels),
    nor 'array op scalar', nor 'scalar op
    array')</p>
  </blockquote>
  
  <p>Normally I would think this error arose because of different image sizes. But they are the exact same. I confirmed this by printing their heights, widths, and depths. As you can see above, they are identical.</p>
  
  <pre><code>import win32api, win32con, win32gui
  import os
  import sys
  import time
  import Image
  import ImageGrab
  
  import cv2
  import numpy as np
  
  player = cv2.imread('./images/bg_eagle_player.png')
  
  #User Settings:
  SaveDirectory=r'C:\Users\something\somethingeelse'
  
  while (1):
      img=ImageGrab.grab()
      saveas=os.path.join(SaveDirectory,'test.png')
      img.save(saveas)
  
      img = cv2.imread('test.png')
      player_border = img[436:577, 378:1203]
  
      height, width, depth = player.shape
      print height, width, depth
  
      height, width, depth = player_border.shape
      print height, width, depth
  
      dst = cv2.addWeighted(player,0.7,img,0.3,0)
  
      cv2.imshow('image',dst)
      cv2.waitKey(0)
      cv2.destroyAllWindows()
  
      time.sleep(0.1)
  </code></pre>
  
  <p>Any ideas?</p>