OpenCV学习笔记(一):图像显示
《WIN10+VS2015+OpenCV3.1.0配置》文章中配置好OpenCV后第一个测试程序就是显示图像,但是显示图像不止这一种方法,索性就记录下我目前知道的其他图像显示方法,以便之后检索,其中不完善之处希望读者能够指出。
根据百度文库上的这篇文章,知道OpenCV上常见的有四种表示图像的结构。分别是CvArr,CvMat,IplImage,Mat。
CvArr
老版本的图像表示结构。是一个抽象基类,在函数原型中,常见到CvArr(CvArr*),这就允许把CvMar* 或者IplImage* 传递到程序或函数参数中了。个人觉得不是很重要,以后应该也不会用到很多,所以不深入了解了。
CvMat
是一种用矩阵结构来表示图形的方式。具体详见:http://blog.csdn.net/augusdi/article/details/8864950
IplImage
是较老版本的一种图像类型,对图像进行编码的基本结构。这些图像可能是灰度,彩色,4通道的(RGB+ alpha)。其中每个通道可以包含任意的整数或浮点数。
用法示例:
IplImage *iplImg = cvLoadImage("C:\\Users\\Public\\Pictures\\Sample Pictures\\1.jpg", 1);
//最后的1表示读取的是彩色图片,如果需要把原图转换成灰白图片的话就是0
cvShowImage("picture", iplImg);
waitKey(10000);
cvReleaseImage(&iplImg);
cvDestroyWindow("picture");
- 1
- 2
- 3
- 4
- 5
- 6
Mat
新版本中的图像容器,是和Matlab中的函数对应的。基本上讲 Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。矩阵头的尺寸是常数值,但矩阵本身的尺寸会依图像的不同而不同,通常比矩阵头的尺寸大数个数量级。
用法示例:
Mat img = imread("C:\\Users\\Public\\Pictures\\Sample Pictures\\1.jpg");
imshow("picture", img);
waitKey(10000);
img.release();
cvDestroyWindow("picture");
- 1
- 2
- 3
- 4
- 5
参考文献:
1. http://blog.csdn.net/wangxuwen2/article/details/51848634
2. http://wenku.baidu.com/link?url=ugU2DfQU-tQ8w-RC-8IMj1uWiHWPGS3brvZaGKuaUdqeHjEFIFqaCly6d2nYkoebixJo7wgxKmDARf8GESBTVqd8wh59Rpy_rvXNwYZxn_y
3. http://blog.csdn.net/augusdi/article/details/8864950
OpenCV学习笔记(一):图像显示相关推荐
- OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast
OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...
- opencv学习笔记22:傅里叶变换,高通滤波,低通滤波
傅里叶变换原理 任何连续的周期信号,都可以由一组适当的正弦曲线组合而成. 下列左上图由其他三图构成. 左图经过傅里叶变换,由时域图转换到频域图.相互可逆 相位:不是同时开始的一组余弦函数,在叠加时要体 ...
- opencv学习笔记1:图片读入,显示与保存(有代码)
读入图像 cv2.imread(filepath,flags) 说明: filepath文件名 图片路径. 如原始路径为: D:\lesson\2345_image_file_copy_15.jpg ...
- 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...
1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...
- OpenCV学习笔记02--图像像素处理--二值图像、灰度图像、彩色图像像素的处理、numpy.array中的对应的函数
目录 (一)灰度图像像素处理 (二)彩色图像像素处理 (三)numpy.array库在图像处理中的应用 (四)查看图像的属性信息 接着笔记01继续总结,当我们读取一幅图像的时候,一般为二值图像.灰度图 ...
- OpenCV学习笔记(十七)——K均值聚类
当我们要预测的是一个离散值时,做的工作就是"分类".机器学习模型还可以将训练集中的数据划分为若干个组,每个组被称为一个"簇(cluster)".它的重要特点是在 ...
- OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...
函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...
- opencv学习笔记(二):基于肤色的人手检测
opencv学习笔记(二):基于肤色的人手检测 原文:http://blog.csdn.net/wzmsltw/article/details/50849810 先写了人手的检测程序,下一步基于检测程 ...
- python做直方图-python OpenCV学习笔记实现二维直方图
本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d ...
- OpenCV学习笔记大集锦
转载自: OpenCV学习笔记大集锦 – 视觉机器人 http://www.cvrobot.net/collect-opencv-resource-learn-study-note-chinese/ ...
最新文章
- 垃圾回收③---垃圾回收器
- [手把手教]discuzX2插件制作教程__最菜鸟级别的入门坎 一
- 【flume】flume读取web应用某个文件夹下日志到hdfs
- 新入行的包工头,一定做好下面几点
- Windows软件路由器运用实例之OSPF配置
- IDEA中自动导包快捷键
- python爬虫开发 urlparse、parse_qs、urlencode、quote、unquote、urljoin 用法总结
- 记录学习历程-----游戏编程
- 郑州统考英语计算机培训,2016年郑州大学远程教育英语统考练习题
- video标签 设置autoplay无效
- 现代控制理论(机器人方向)习题与实践补充资料和复习说明(2019版)
- hibernate查询结果映射到实体和map的方法
- 英语构词法软件wordformation发布全新1.0版本
- 数据模拟:利用Java模拟数据(姓名,邮箱,地址,电话等信息,时间,工资,1-10随机数)并存入mysql
- 【调剂】北京科技大学钢铁共性技术协同创新中心2021年硕士拟接收调剂公告
- JavaScript中的标签语句
- 2017免费最新版YY注册机
- 关于云计算资源调度的一些思考
- IDEA常用快捷键罗列,分享分享
- win7如何评价计算机,一个90后眼中的Windows系列计算机系统
热门文章
- boost::adaptors::formatted相关的测试程序
- boost::hana::append用法的测试程序
- GDCM:gdcm::IOD的测试程序
- GDCM:获取序列超声的测试程序
- Boost:bind绑定右值的测试程序
- ITK:沿所选方向累积图像的像素
- VTK:可视化之TextureMapImageData
- VTK:图片之ImageRotate
- OpenCV离散傅立叶变换DFT的实例(附完整代码)
- OpenCV gapi模块API的引用(附完整代码)