#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <iostream>

using namespace cv;

using namespace std;

int main( int argc, char** argv )

{

    if( argc != 2)

    {

     cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;

     return -1;

    }

    Mat image;

    image = imread(argv[1], IMREAD_COLOR); // Read the file

    if(! image.data )                      // Check for invalid input

    {

        cout <<  "Could not open or find the image" << std::endl ;

        return -1;

    }

    namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.

    imshow( "Display window", image );                // Show our image inside it.

    waitKey(0); // Wait for a keystroke in the window

    return 0;

}

# Python Code

import cv2

# windows to display image

cv2.namedWindow("Image")

# read image

image = cv2.imread('happy_fish.jpg')

h,w = image.shape[:2]

print h,w

# save image

cv2.imwrite('happy_fish.jpg',image)

# show image

cv2.imshow("Image", image)

# exit at closing of window

cv2.waitKey(0)

cv2.destroyAllWindows()