Load and Display an Image

转载 2013年12月03日 07:54:57

In this tutorial you will learn how to:


#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>  //core and highgui is the basic,you need to include each time.
#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], CV_LOAD_IMAGE_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", CV_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;
}

Explanation


  • core section, as here are defined the basic building blocks of the library
  • highgui module, as this contains the functions for input and output operations

// Video Image PSNR and SSIM
#include <iostream> // for standard I/O
#include <string>   // for strings

We also include the iostream to facilitate console line output and input. To avoid data structure and function name conflicts with other libraries, OpenCV has its own namespace: cv. To avoid the need appending prior each of these the cv:: keyword you can import the namespace in the whole file by using the lines:

using namespace cv;
using namespace std;


Now we call the imread function which loads the image name specified by the first argument

(argv[1]). The second argument specifies the format in what we want the image. This may be:

  • CV_LOAD_IMAGE_UNCHANGED (<0) loads the image as is (including the alpha channel if present)
  • CV_LOAD_IMAGE_GRAYSCALE ( 0) loads the image as an intensity one
  • CV_LOAD_IMAGE_COLOR (>0) loads the image in the RGB format
    image = imread(argv[1], CV_LOAD_IMAGE_COLOR);   // Read the file
 

Note

OpenCV offers support for the image formats Windows bitmap (bmp),

portable image formats (pbm, pgm, ppm) and Sun raster (sr, ras).

With help of plugins (you need to specify to use them if you build yourself the library,

nevertheless in the packages we ship present by default) you may also load image formats like JPEG (jpeg, jpg, jpe),

JPEG 2000 (jp2 - codenamed in the CMake as Jasper), TIFF files (tiff, tif) and portable network graphics (png).

Furthermore, OpenEXR is also a possibility.


create an OpenCV window using the namedWindow function. These are automatically managed by OpenCV once you create them.


  • CV_WINDOW_AUTOSIZE is the only supported one if you do not use the Qt backend. In this case the window size will take up the size of the image it shows. No resize permitted!
  • CV_WINDOW_NORMAL on Qt you may use this to allow window resize. The image will resize itself according to the current window size. By using the | operator  you also need to specify if you would like the image to keep its aspect ratio (CV_WINDOW_KEEPRATIO) or not (CV_WINDOW_FREERATIO).
    namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.



Finally, to update the content of the OpenCV window with a new image use the imshow function. Specify the OpenCV window name to update and the image to use during this operation:

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

Because we want our window to be displayed until the user presses a key (otherwise the program would end far too quickly), we use the waitKey function whose only parameter is just how long should it wait for a user input (measured in milliseconds). Zero means to wait forever.

    waitKey(0); 








相关文章推荐

Opencv2.4.3_tutorials(学习指南)——load and display an Image

1 #include 2 #include 3 #include 4 5 using namespace cv; 6 using namespace std; 7 8 int main( int...

opencv学习-load image and display

OpenCV2.x版本有了C++接口,如Mat imread 与 IplImage cvLoadImage. They are the two different interfaces (Mat/i...

Display, add and delete data from an NSTableView Implement NSTableView.

http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/025-NSTableView.pl Problem: To creat...
  • yuanya
  • yuanya
  • 2013-10-26 23:45
  • 2042

Capture Image from Camera and Display in Activity

问: I want to write a module where on a click of a button the camera opens and I can click and captu...

scull-scull.init , scripts as an alternative to scull_load and scull_unload

#!/bin/bash # Sample init script for the a driver module DEVICE="scull" SECTION="misc" # The list...

16. 26. 3. 装入想要尺寸的图片 Load Image and scale it

import javax.swing.JFrame; import java.awt.event.ActionListener; import java.awt.event.ActionEvent...

论文笔记:An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application

1.历史方法 1)基于字符的DCNN,比如photoOCR.单个字符的检测与识别。要求单个字符的检测器性能很强,crop的足够好。 2)直接对图片进行分类。9万个单词,组合成无数的单词,无法直接应用 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)