Load, Display and Save an image


Mat imread(const string& filename, intflags=1 )
Parameters:
  • filename – Name of file to be loaded.
  • flags –Flags specifying the color type of a loaded image:
    • CV_LOAD_IMAGE_ANYDEPTH - return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit.
    • CV_LOAD_IMAGE_COLOR(>0) - If set, always convert image to the color one
    • CV_LOAD_IMAGE_GRAYSCALE (0)- If set, always convert image to the grayscale one
    • CV_LOAD_IMAGE_UNCHANGED (<0) loads the image as is (including the alpha channel if present)
bool imwrite(const string& filename, InputArray img, const vector<int>&params=vector<int>() )
Parameters:
  • filename – Name of the file.
  • image – Image to be saved.
  • params – Format-specific save parameters encoded as pairs paramId_1, paramValue_1, paramId_2, paramValue_2, ... . The following parameters are currently supported:
    • For JPEG, it can be a quality (CV_IMWRITE_JPEG_QUALITY ) from 0 to 100 (the higher is the better). Default value is 95.
    • For PNG, it can be the compression level (CV_IMWRITE_PNG_COMPRESSION) from 0 to 9. A higher value means a smaller size and longer compression time. Default value is 3.
    • For PPM, PGM, or PBM, it can be a binary format flag (CV_IMWRITE_PXM_BINARY ), 0 or 1. Default value is 1.
void imshow(const string& winname, InputArray mat)

Parameters:
  • winname – Name of the window.
  • image – Image to be shown.

Steps:

  1. Load image using imread().
  2. Display image using namedWindow() and imshow().
  3. Save the image using imwrite().
  4. Wait for keyboard button press using waitKey().

Example:

--------------
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main( )
{

       Mat image;

       // LOAD image
       image = imread("image1.jpg", CV_LOAD_IMAGE_COLOR);   // Read the file "image.jpg".
              //This file "image.jpg" should be in the project folder.
              //Else provide full address : "D:/images/image.jpg"

       if(! image.data )  // Check for invalid input
       {
              cout <<  "Could not open or find the image" << std::endl ;
              return -1;
       }

       //DISPLAY image
       namedWindow( "window", CV_WINDOW_AUTOSIZE ); // Create a window for display.
       imshow( "window", image ); // Show our image inside it.

       //SAVE image
       imwrite("result.jpg",image);// it will store the image in name "result.jpg"

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

Sources:
http://docs.opencv.org/doc/tutorials/introduction/display_image/display_image.html

10 comments:

  1. It is a really nice blog. Super practical and easy to learn. Thanks for sharing.

    ReplyDelete
  2. Finally something that expains imwrite shortly and easy! Thank you very much! :)

    ReplyDelete
  3. Nice blog. Is it possible to save the image in other formats?

    ReplyDelete
  4. How if i have work with openCV in Matlab ??

    ReplyDelete
  5. Trung tâm đào tạo kế toán thực tế Tại cầu giấy
    Trung tâm đào tạo kế toán thực tế Tại từ liêm
    Trung tâm đào tạo kế toán thực tế Tại thanh xuân
    Trung tâm đào tạo kế toán thực tế Tại hà đông
    Trung tâm đào tạo kế toán thực tế Tại long biên
    Trung tâm đào tạo kế toán thực tế Tại nguyễn chính thanh đống đa
    Trung tâm đào tạo kế toán thực tế Tại minh khai hai bà trưng
    Trung tâm đào tạo kế toán thực tế Tại bắc ninh
    Trung tâm đào tạo kế toán thực tế Tại hải phòng
    Trung tâm đào tạo kế toán thực tế Tại tphcm
    Trung tâm đào tạo kế toán thực tế Tại quận 3
    Trung tâm đào tạo kế toán thực tế Tại thủ đức
    Trung tâm đào tạo kế toán thực tế Tại đà nẵng
    Trung tâm đào tạo kế toán thực tế Tại biên hòa
    Trung tâm đào tạo kế toán thực tế Tại đồng nai
    Trung tâm đào tạo kế toán thực tế Tại nam định
    Trung tâm đào tạo kế toán thực tế Tại thái bình
    Trung tâm đào tạo kế toán thực tế Tại bắc giang
    Trung tâm đào tạo kế toán thực tế Tại vĩnh phúc
    Trung tâm đào tạo kế toán thực tế Tại thái nguyên
    Trung tâm đào tạo kế toán thực tế Tại quảng ninh
    Trung tâm đào tạo kế toán thực tế Tại hải dương
    Trung tâm đào tạo kế toán thực tế Tại hưng yên
    Trung tâm đào tạo kế toán thực tế Tại hà nam
    Trung tâm đào tạo kế toán thực tế Tại ninh bình
    Trung tâm đào tạo kế toán thực tế Tại nghệ an
    Trung tâm đào tạo kế toán thực tế Tại vũng tàu

    ReplyDelete
  6. Thank you sir. This is very helpful!

    ReplyDelete
  7. first time using opencv, nothing work. Defined paths for include and libs did not recognized and many errors in compilation. Checked 4 times settings with document and everything is ok but dont know. Using Visualk Studio 2015 community.

    ReplyDelete