在本教程中,您将学习
1、加载一张图片(using cv::imread ;cvLoadImage)
2、创建一个窗口(using cv::namedWindow)
3、在窗口中显示图片(using cv::imshow)
代码:
#include "stdafx.h"
#include <opencv\cv.h>
#include <opencv\highgui.h>
#include <stdio.h>
#include <opencv2\opencv.hpp>
#include <string>
int _tmain(int argc, _TCHAR* argv[])
{
std::string filename = "d:\\lena.jpg";
cv::Mat image;//创建图像存储对象
image = cv::imread(filename);//加载图像
if (!image.data)
{
printf("No image data\n");
return -1;
}
std::cout << image.cols << std::endl;
cv::namedWindow("Display Image", CV_WINDOW_AUTOSIZE);//创建窗口
cv::imshow("Display Image", image);//显示
cv::waitKey(0);
system("pause");
return 0;
}
另外一种方法:
#include "stdafx.h"
#include <opencv\cv.h>
#include <opencv\highgui.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
IplImage * test;
test = cvLoadImage("d:\\lena.jpg");//图片路径
cvNamedWindow("test_demo", 1);
cvShowImage("test_demo", test);
cvWaitKey(0);
system("pause");
return 0;
}
图片显示结果:
创建一张图片
#include "stdafx.h"
#include <opencv\cv.h>
#include <opencv\highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
cvNamedWindow("test_demo", CV_WINDOW_AUTOSIZE);
IplImage *img = cvCreateImage(cvSize(340, 280), IPL_DEPTH_8U, 1);
CvFont font;
double hScale = 1.0;
double vScale = 1.0;
int lineWidth = 1;
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC, hScale, vScale, 0, lineWidth);
cvPutText(img, "Hello world!", cvPoint(100, 100), &font, cvScalar(255, 255, 0));
cvShowImage("test_demo", img);
cvWaitKey();
system("pause");
return 0;
}