title: Ipython cv2.imwrite() not saving image
body: <p>I have written a code in python opencv. I am trying to write the processed image back to disk but the image is not getting saved and it is not showing any error(runtime and compilation) The code is</p>
  
  <pre><code>"""
  Created on Wed Oct 19 18:07:34 2016
  
  @author: Niladri
  """
  
  import numpy as np  
  import cv2  
  
  if __name__ == '__main__':  
  import sys  
  
  img = cv2.imread('C:\Users\Niladri\Desktop\TexturesCom_LandscapeTropical0080_2_S.jpg')
  if img is None:  
      print 'Failed to load image file:'
      sys.exit(1)  
  
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  
  h, w = img.shape[:2]  
  
  eigen = cv2.cornerEigenValsAndVecs(gray, 15, 3)  
  eigen = eigen.reshape(h, w, 3, 2)  # [[e1, e2], v1, v2]  
  #flow = eigen[:,:,2] 
  iter_n = 10
  sigma = 5
  str_sigma = 3*sigma
  blend = 0.5
  img2 = img
  for i in xrange(iter_n):  
      print i,  
  
      gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)  
      eigen = cv2.cornerEigenValsAndVecs(gray, str_sigma, 3)  
      eigen = eigen.reshape(h, w, 3, 2)  # [[e1, e2], v1, v2]  
      x, y = eigen[:,:,1,0], eigen[:,:,1,1] 
      print eigen
  
      gxx = cv2.Sobel(gray, cv2.CV_32F, 2, 0, ksize=sigma)  
      gxy = cv2.Sobel(gray, cv2.CV_32F, 1, 1, ksize=sigma)  
      gyy = cv2.Sobel(gray, cv2.CV_32F, 0, 2, ksize=sigma)  
      gvv = x*x*gxx + 2*x*y*gxy + y*y*gyy  
      m = gvv &lt; 0  
  
      ero = cv2.erode(img, None)  
      dil = cv2.dilate(img, None)  
      img1 = ero  
      img1[m] = dil[m]  
      img2 = np.uint8(img2*(1.0 - blend) + img1*blend)  
  #print 'done'
  cv2.imshow('dst_rt', img2)
  cv2.waitKey(0)
  cv2.destroyAllWindows()
  
  #cv2.imwrite('C:\Users\Niladri\Desktop\leaf_image_shock_filtered.jpg', img2)    
  
  
  
  for i in xrange(iter_n):  
      print i,  
  
      gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)  
      eigen = cv2.cornerEigenValsAndVecs(gray, str_sigma, 3)  
      eigen = eigen.reshape(h, w, 3, 2)  # [[e1, e2], v1, v2]  
      x, y = eigen[:,:,1,0], eigen[:,:,1,1] 
      print eigen
  
      gxx = cv2.Sobel(gray, cv2.CV_32F, 2, 0, ksize=sigma)  
      gxy = cv2.Sobel(gray, cv2.CV_32F, 1, 1, ksize=sigma)  
      gyy = cv2.Sobel(gray, cv2.CV_32F, 0, 2, ksize=sigma)  
      gvv = x*x*gxx + 2*x*y*gxy + y*y*gyy  
      m = gvv &lt; 0  
  
      ero = cv2.erode(img, None)  
      dil = cv2.dilate(img, None)  
      img1 = dil  
      img1[m] = ero[m]  
      img2 = np.uint8(img2*(1.0 - blend) + img1*blend)  
  print 'done'
  
  #cv2.imwrite('D:\IP\tropical_image_sig5.bmp', img2)    
  
  
  cv2.imshow('dst_rt', img2)
  cv2.waitKey(0)
  cv2.destroyAllWindows()
  
  #cv2.imshow('dst_rt', img2)    
  
  cv2.imwrite('C:\Users\Niladri\Desktop\tropical_image_sig5.bmp', img2)
  </code></pre>
  
  <p>Can anyone please tell me why it is not working. cv2.imshow is working properly(as it is showing the correct image). 
  Thanks and Regards
  Niladri</p>