opencv篇之一 图像的读取和显示

欢迎关注,定期更新

从这一篇开始,我们来简单的了解opencv的一些概念和应用,关于opencv的起源、发展之类的不再赘述。首先来说一下环境配置,这里本人是vs2010+opencv3.1,opencv3.1的源码可以在官网上下载,下载下来后进行编译,这里本人编译成了64位的。关于具体的配置步骤和编译步骤,大家可以参考网上的一大堆资料,这里不再赘述。下边直接来第一个例子,图像的读取和显示,代码给出两种版本,一种是旧版本的数据结构和函数,一种是新版本

int _tmain(int argc, _TCHAR* argv[])
{
	//new version
	/*
	Mat aa=imread("aa.jpg");
	namedWindow("test image aa");
	imshow("test image aa",aa);
	waitKey();
	*/
	//old version
	IplImage *image=cvLoadImage("aa.jpg");
	cvNamedWindow("test image aa");
	cvShowImage("test image aa",image);
	cvWaitKey(0);
	cvReleaseImage(&image);
	cvDestroyWindow("test image aa");
	return 0;
}
简单解释一下,Mat是新版本表示图像的结构矩阵,旧版本是IplImage* 这个指针,前边的是新版本的函数,后边是旧版本的函数,当然关于Mat和IplImage* 这两种结构,大家感兴趣的可以去看一下源码,不理解也没关系,我们的目的只是简单的应用。namedWindow函数和cvNamedWindow函数都是创建一个窗口,imshow函数和cvShowImage函数都是在创建的窗口中显示图像,第一个参数是窗口名,第二个参数是图像;waitKey函数和cvWaitKey函数是事件函数,等待键盘输入;在旧版本中由于使用了指针,故此最后要释放,cvReleaseImage就是释放图像指针,参数是图像指针的指针,即指向图像内存的地址。

这第一篇小试牛刀就到此结束,下边给出源码:

// opencv_test.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

int _tmain(int argc, _TCHAR* argv[])
{
	//new version
	/*
	Mat aa=imread("aa.jpg");
	namedWindow("test image aa");
	imshow("test image aa",aa);
	waitKey();
	*/
	//old version
	IplImage *image=cvLoadImage("aa.jpg");
	cvNamedWindow("test image aa");
	cvShowImage("test image aa",image);
	cvWaitKey(0);
	cvReleaseImage(&image);
	cvDestroyWindow("test image aa");
	return 0;
}





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值