OpenCV学习笔记 第一篇 显示图像
2015-04-16 20:12
417 查看
OpenCV学习笔记 第一篇 显示图像
关于opencv的配置,大家自己找教程配置,本笔记侧重于对opencv基础入门的学习,本节学习opencv的一些简单语句,如何利用opencv来加载图像,显示图像,来学习一些简单基础的opencv的语句,推荐一本opencv的经典书《学习OpenCV》中文版-
一,主要函数介绍
1.1 cvLoadImage
函数功能:载入图像函数cvLoadImage从指定文件读入图像,返回读入图像的指针。
函数原型:
IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );
函数详解:
filename :要被读入的文件的文件名(包括后缀);
支持多种图像,如(JPEG文件 - JPEG, JPG, JPE、便携式网络图片- PNG、Windows位图文件- BMP, DIB等多种格式)
flags :指定读入图像的颜色和深度:
指定的颜色可以将输入的图片转为3通道(CV_LOAD_IMAGE_COLOR), 单通道 (CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。
也可以写成如下:
cvLoadImage( filename, -1 ); 默认读取图像的原通道数
cvLoadImage( filename, 0 ); 强制转化读取图像为灰度图
cvLoadImage( filename, 1 ); 读取彩色图
1.2cvNamedWindow
函数功能:创建窗口函数原型:cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );
函数详解:name 窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。
flags 窗口属性标志。可以选择CV_WINDOW_AUTOSIZE(1)和0两种值。CV_WINDOW_AUTOSIZE这个标志被设置后, 如果用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像(参考cvShowImage)。0表示以固定的窗口尺寸显示图像。
函数cvNamedWindow创建一个可以放置图像和trackbar的窗口。被创建的窗口可以通过它们的名字被引用。 如果已经存在这个名字的窗口,这个函数将不做任何事情,以后为大家介绍trackbar的学习
1.3cvShowImage
函数功能:显示图像函数原型:void cvShowImage( const char* name, const CvArr* image );
函数详解:name 窗口的名字。
image 被显示的图像。
函数cvShowImage 在指定窗口中显示图像。如果窗口创建的时候被设定标志CV_WINDOW_AUTOSIZE,那么图像将以原始尺寸显示;否则,图像将被伸缩以适合窗口大小
1.4cvWaitKey
函数功能:不断刷新图像,返回值为当前键盘按键值,默认值为零函数原型:C++: int waitKey(int delay=0)
函数详解,等待按键,使图像一直显示
1.5cvDestroyWindow
函数功能:销毁一个窗口函数原型:void cvDestroyWindow( const char* name );
函数详解:name 要被销毁的窗口的名字。
函数cvDestroyWindow销毁指定名字的窗口。
1.6cvReleaseImage
函数功能:销毁已定义的IplImage指针变量,释放占用内存空间函数原型:void cvReleaseImage( IplImage** image );
二,示例程序演示
#include <opencv2/opencv.hpp> int main() { const char *pstrImageName = "123456.jpg";//注意,需要将图片放在所建工程的路径下,名字和格式需一致 const char *pstrWindowsTitle = "原图"; IplImage *pImage = cvLoadImage(pstrImageName, 1); //从文件中读取图像 cvNamedWindow(pstrWindowsTitle,1 ); //创建窗口 cvShowImage(pstrWindowsTitle, pImage); //在指定窗口中显示图像 cvWaitKey(); //等待按键事件 cvDestroyWindow(pstrWindowsTitle); //毁坏窗口 cvReleaseImage(&pImage); //破坏图像 return 0; }
程序运行结果如下
这次介绍的一些基本语句很简单,也是本人学习opencv的笔记一些整理,希望能够为我等菜鸟简单入门,随着学习的深入,也会逐渐学习,谢谢大家观看,欢迎提意见,谢谢
相关文章推荐
- 【opencv学习笔记五】一个简单程序:图像读取与显示
- OpenCV(C++接口)学习笔记1-图像读取、显示、保存
- Opencv学习笔记(2)模块,图像读取、显示、叠加、融合、颜色分离、亮度、对比度
- OpenCV学习笔记01--图像和视频的显示
- 【opencv学习笔记1】显示图像
- OpenCV 学习笔记(1)安装设置、显示图像
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
- python3.6.3+opencv3.3.0学习笔记三--本地图像显示
- 【Ubuntu+OpenCV】ubuntu/linux环境下,运用opencv实现图像的读入、显示--学习笔记【1】
- opencv学习笔记——图像的载入、显示和输出
- OpenCV 学习笔记(1)安装设置、显示图像
- 【opencv学习笔记】显示图像
- OpenCV(C++接口)学习笔记1-图像的读取、显示、保存
- OpenCV学习笔记(三):将图像显示在MFC控件上并做直方图均衡化处理
- OpenCV学习笔记-显示图像
- Python OpenCV学习笔记之:图像读取,显示及保存
- opencv学习笔记 一 载入、显示和保存图像
- 第一篇 学习OpenCV之图像显示
- OpenCV学习笔记【1】:初试牛刀--显示图像
- opencv学习笔记-图像载入、显示、保存