`
akiraray
  • 浏览: 90720 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OpenCV学习备忘 Vol .1 显示图片

阅读更多

 

作者:Akira.Panda

参考书籍及资料

  • OpenCV中文社区
  • 《学习OpenCV》

内容提要

  • 显示图片

实验1 显示图片

准备工作

找一张jpg图片,放置于硬盘

代码

#include "highgui.h"
int main(int argc,char ** argv){
	char* fileName="C:\\Lena.jpg"; 
	char* windowTitle="Lena"; 
	IplImage *img=cvLoadImage(fileName); 
	cvNamedWindow(windowTitle,CV_WINDOW_AUTOSIZE); 
	cvShowImage(windowTitle,img); 
	
	cvWaitKey(0); 
	cvReleaseImage(&img); 
	cvDestroyWindow(windowTitle);
	return 0; 
}
 



 

 

代码解析

重要数据类型

  • IplImage  OpenCV中对图像的数据类型,其名字为什么叫这个可以Google一下

重要函数

  • IplImage* cvLoadImage(char* filePath)   加载一幅图片,OpenCV支持大部分常用的图片格式,这里我使用了是绝对路径的方法进行加载的。如果是用相对路径的同学请注意路径层次。如果是使用Windows的同学请注意分割符是"\\",前一个\是对后一个\的转移,这点应该大部分高级编程语言都有的。
  • int cvNamedWindow( const char* name, int flags )

    name为窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。name也可以理解为一个窗口的key值,通过这个key和其他组件进行通讯。

    flags参数是一些特殊的属性,比如这里使用的CV_WINDOW_AUTOSIZE是让该窗口根据内容大小自动适应大小。

  • void cvDestroyWindow( const char* name ); name为需要被销毁的window的key值
  • void cvShowImage( const char* name, const CvArr* image ); 

    name为对应窗口的标题值如果有对应的name值的window则图片会显示在该window,如无对应的则会新建一个新的窗体用于显示图片。

  • void cvReleaseImage( IplImage** image ) 用于销毁一个IplImage对象。和cvLoadImage可以说是对应的。

  • int cvWaitKey( int delay=0 )  键盘监听函数,参数delay键盘事件响应的延迟时间,返回值代表敲入键盘字符的具体值

Tips

  • 图片读取的路径是个关键很多童鞋因为路径不存在导致窗口显示一片灰色;
  • cvWaitKey函数在这个例子的作用其实只是让程序等待键盘时间,这样就不会立即销毁图片对象。如果你删除了这个函数可能会因为在创建后程序有立即执行了销毁窗口及图片的代码,导致一片灰色  
  • 大小: 89.7 KB
分享到:
评论

相关推荐

    opencv-java480.dll windows 64 opencv-java480.jar下载

    OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了大量的图像处理和计算机视觉算法,广泛应用于机器学习、图像分析、人脸识别等领域。在Java环境下,OpenCV提供了`opencv_java`接口,使得Java...

    opencv-460.jar及opencv-java460.dll

    OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了大量的图像处理和计算机视觉算法,广泛应用于机器学习、图像分析、人脸识别等领域。在Java开发中,OpenCV提供了与Java语言的接口,使得开发者...

    opencv_world310.lib文件

    OpenCV(开源计算机视觉库)是计算机视觉和机器学习领域广泛应用的一个强大工具,它提供了丰富的函数和类,用于图像处理、特征检测、对象识别等多种任务。"opencv_world310.lib" 和 "opencv_world310d.lib" 是OpenCV...

    基于python语言,学习Opencv的简单例子.zip

    学习Opencv的简单例子.zip基于python语言,学习Opencv的简单例子.zip基于python语言,学习Opencv的简单例子.zip基于python语言,学习Opencv的简单例子.zip基于python语言,学习Opencv的简单例子.zip基于python语言,...

    window opencv_java320.dll

    window平台的 opencv_java320.dll 编译好的,放在java bin目录下即可

    opencv_java453.dll

    opencv官方的本地库,用在windows平台

    opencv-python3.4.1.15.zip

    OpenCV,全称Open Source Computer Vision Library,是一个开源的计算机视觉库,它包含了众多图像处理和计算机视觉的算法,广泛应用于图像分析、机器学习以及人工智能等领域。在Python编程语言中,OpenCV提供了一个...

    opencv-python-4.10.0.84.tar.gz

    1. 图像处理基础:包括读取、显示、保存图像,以及对图像进行基本操作,如灰度转换、直方图均衡化、色彩空间转换等。 2. 图像滤波:提供各种滤波器,如高斯滤波、中值滤波、双边滤波等,用于平滑图像、去除噪声或...

    opencv2.framework.zip

    OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了大量的图像处理和计算机视觉算法,广泛应用于图像分析、识别、机器学习等领域。在iOS开发中,OpenCV库通常用于实现诸如图像识别、人脸识别、...

    opencv_2.4.11dll.rar

    5. `opencv_highgui2411d.dll`:用户界面模块,提供图像显示和基本的I/O功能。 6. `opencv_legacy2411d.dll`:包含了一些旧的函数和算法。 7. `opencv_contrib2411d.dll`:扩展模块,包含非官方或实验性的功能。 8. ...

    opencv学习资料分享.zip

    OpenCV(开源计算机视觉库)是一个强大的图像处理和计算机视觉库,它被广泛应用于各种领域,包括图像识别、机器学习、深度学习等。这个“opencv学习资料分享.zip”压缩包显然是一个包含OpenCV与Python结合使用的教育...

    opencv_ffmpeg249.dll

    在OpenCV中无法正常读取视频(opencv_ffmpeg249.dll)

    opencv-java460-windows-64

    OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,它包含了大量的图像处理和计算机视觉算法,广泛应用于机器学习、深度学习、图像分析、人脸识别等领域。"opencv-java460-windows-64" 是OpenCV的一个特定...

    opencv-4.5.2安装包.zip

    该库提供了大量的函数和模块,用于图像和视频的读取、显示、处理、分析以及机器学习任务。OpenCV 4.5.2是这个库的一个稳定版本,包含了自4.5.1以来的一系列改进和新特性。 在安装OpenCV 4.5.2之前,我们需要确保...

    opencv OpenCvSharp 图片拼接.zip

    在压缩包中的"opencv图片拼接"文件可能包含示例代码、教程文档或者演示程序,可以帮助开发者理解并实现上述步骤。通过学习和实践这些内容,你将能够熟练掌握使用OpenCVSharp进行图片拼接的方法,并应用于各种实际...

    opencv-python-4.5.5.64.tar.gz

    OpenCV(开源计算机视觉库)是计算机视觉和机器学习领域的一个强大工具,广泛应用于图像处理、模式识别、视频分析等领域。Python版本的OpenCV(即`opencv-python`)提供了丰富的接口,使得Python开发者能够轻松地...

    OpenCV检测运动目标.zip资源matlab opencv运动目标检测程序资料

    OpenCV检测运动目标.zip资源matlab opencv运动目标检测程序资料OpenCV检测运动目标.zip资源matlab opencv运动目标检测程序资料OpenCV检测运动目标.zip资源matlab opencv运动目标检测程序资料OpenCV检测运动目标.zip...

    C# OpenCV图像矩形识别.rar

    OpenCV提供了一系列的函数和类,可以用于读取、处理和显示图像。在C#中,我们可以使用OpenCV的.NET接口,如Emgu CV或SharpCV,来访问这些功能。在处理矩形识别问题时,通常会涉及到以下步骤: 1. **图像读取**:...

    opencv.js 4.x版本

    opencv.js 4.x版本,引入可直接用,亲测有效 ...3. 支持更多的算法:OpenCV.js 4.x版本新增了很多新的图像处理算法,包括深度学习相关的算法。同时,它还支持一些常用的计算机视觉任务,例如人脸检测、目标追踪等。

Global site tag (gtag.js) - Google Analytics