Opencv入门(显示图像)
来源:互联网 发布:sentinel 2数据 envi 编辑:程序博客网 时间:2024/06/08 17:16
Opencv入门(显示图像)
用于从磁盘加载并在屏幕上显示一副图像的简单Opencv程序(摘自《学习Opencv》)
1. #include "highgui.h" 2. int main(int argc, char** argv) 3. { 4. IplImage* img = cvLoadImage(argv[1]); 5. cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE); 6. cvShowImage("Example1", img); 7. cvWaitKey(0); 8. cvReleaseImage(&img); 9. cvDestroyWindow("Example1"); 10. }
以上程序编译后,就可以在命令行模式下通过输入一个参数来执行它。执行过程中向内存中加载一幅图像,并将该图像显示于屏幕上,直到按下键盘的任意一个键后它才关闭窗口并退出程序。下面进行详细分析:
IplImage* img = cvLoadImage(argv[1]);
将图形文件加载至内存,cvLoadImage函数是一个高层调用接口,通过参数来确定被加载的文件格式,能够自动分配图像数据结构所需的内存。可以读取大多数格式类型的图像文件(BMP/DIB/JPEG/JPE/PNG/PBM/PGM/PPM/SR/RAS/TIFF)。返回值为一个指向一块为描述该图像文件的数据结构(IplImage结构体)。Opencv常使用IplImage结构体处理诸如单通道/多通道/整形/浮点型等所有类型的图像文件。
cvNamedWindow(“Example1”, CV_WINDOW_AUTOSIZE);
也是个高层调用接口,该函数由HignGUI库提供。用于在屏幕上创建一个窗口,将被显示的图像包含于该窗口中。参数1为窗口标题,如果要使用HighGUI库所提供的其他函数与该窗口进行交互时,需要通过该参数值引用这个窗口。参数2定义了窗口的属性,该参数为0时为默认值,窗口的大小不会因图像的大小而改变,图像只能在窗口中根据窗口的大小进行拉伸或缩放。当设置为CV_WINDOW_AUTOSIZE时,窗口则会根据图像的实际大小自动进行拉伸或缩放来容纳图像。
cvShowImage(“Example1”, img);
在参数1中显示参数2,该函数被调用时,该窗口将被重新绘制且图像也会显示在窗口中。
cvWaitKey(0);
等待暂停函数,如果参数为正,则程序将暂停一段时间,时间为该参数值个毫秒单位,然后继续执行程序,即使用户没有按下任何键。当该参数为0或负,程序将一直等待永华触发按键操作。
cvReleaseImage(&img);
释放内存,释放参数所指向的内存块,执行完毕后,img被设置为NULL。
cvDestroyWindow(“Example1”);
关闭销毁窗口,并释放为该窗口所分配的所有内存呢(包括窗口内部的图像内存缓冲区,该缓冲区中保存了与img指针相关的图像文件像素信息的一个副本)。
- OpenCV入门:显示图像
- Opencv入门(显示图像)
- OpenCV入门之显示图像
- OpenCV入门----显示一幅图像
- OpenCV入门例子 反色显示图像
- opencv入门 - 显示图像学习总结
- OpenCV入门_学习笔记_读取、显示、处理图像
- 【Rayeager PX2分享】OpenCV入门之图像显示
- 《Opencv从入门到放弃》-- 1th 显示图像
- OpenCV入门学习之读取usb摄像头图像,实时显示
- Opencv显示图像
- opencv显示图像
- OpenCv图像载入显示
- openCV 对话框 显示图像
- opencv显示图像(3)
- OPENCV 中的显示图像
- opencv 图像显示IplImage
- QT OpenCv 图像显示
- jquery获取url及url参数的方法
- 2017 ACMICPC Asia Regional Shenyang Online 个人题解汇总
- Android设置“android:clickable="false"无效。点击事件依旧触发
- 每天一python 题 0005
- Linux 文件操作之文件管理(一)
- Opencv入门(显示图像)
- lua -- next
- 深入理解javascript原型和闭包(17)——补充:上下文环境和作用域的关系
- ECharts3 实现四象限图
- 随机数测试函数 (rand() 和srand() )
- 密码编码学初探——数论和有限域
- Android图表库MPAndroidChart(六)饼状图 -折线百分比
- Flie
- 用 eclipse ndk 编译 cocos2d-x for Android