OpenCV学习笔记(一):图像的输入输出

1.前言:

参考了下面的博客,感谢分享:
https://blog.csdn.net/xmfthu/article/details/14003637

用opencv里的函数实现图像的读入读出,看到完成的效果的时候很开心!

拿很多不同的图片试了一遍又一遍hhhhhhh(不许笑我~

2.我的环境:

OpenCV版本:opencv3.4.0

codeblocks版本:codeblocks-17.12

3.关于Mat:

Mat是OpenCV中用于存放图像的数据结构。我们知道,图像在计算机中是以数组的形式存放的。Mat正是描述的这样一种数据结构。通过调用相关方法,我们能够实现对图像的输入输出以及一些操作。同时,Mat又不止可以作为图像容器,它也可以作为一种比较纯粹的描述矩阵这种数学对象的结构。它比C中的IplImage好的地方在于,由于它的“计数器”机制,我们不需要对它进行手动的内存回收,从而避免了常常困扰C/C++程序员的“内存泄露”问题。(摘自博客,作者:xmfthu
 

4.头文件:

需要包含以下三个头文件,其中:

highgui.hpp :C++ only头文件,定义了创建窗口的flag,窗口事件的flag,Qt窗口的flag,事件回调函数原型,以及窗口/控件操作相关的系列函数,openGL的包装函数;图像输入输出显示的相关函数;视频摄像头输入输出显示的相关函数VideoCapture,VideoWriter;

core.hpp:包含了一些图像处理核心功能,详细请看官方说明:

https://docs.opencv.org/ref/2.4/db/d8c/core_2core_8hpp.html

#include<iostream>
#include<highgui.hpp>
#include<core.hpp>

5.函数介绍:

imread()函数

作用:读入图片

参数:第一个参数为待读入图片的带路径名称(字符串);第二个参数为读入图像的颜色格式:

读入彩色格式参数为IMREAD_COLOR,读入灰度格式参数为IMREAD_GRAYSCALE

Mat imread(const string& filename, int flags=1 )

imshow()函数

作用:显示图片

参数:第一个参数是显示窗口的标题名称(字符串);第二个参数为Mat类型的图片对象 ,即要显示的图片名称

void imshow(const string& winname, InputArray mat)

waitKey()函数

作用:使显示图片窗口停留,避免一闪而过

int waitKey(int delay=0)

6.测试:

完整代码:

#include<iostream>
#include<highgui.hpp>
#include<core.hpp>

using namespace std;
using namespace cv;

int main()
{
    string pic_name = "C:\\Users\\XC\\Desktop\\pig.jpg";
    Mat img_color = imread(pic_name,IMREAD_COLOR);
    Mat img_gray = imread(pic_name,IMREAD_GRAYSCALE);
    imshow("color",img_color);
    imshow("gray",img_gray);
    waitKey();
    return 0;
}

运行效果:

如果你还遇到了其他奇奇怪怪的问题,欢迎留言讨论!

(ps:以上为个人学习记录,如果有错误的地方欢迎批评指正鸭~

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值