中两个表的某列相减_数字图像处理之opencv中Mat数据操作

本文介绍了如何在OpenCV中进行Mat数据操作,包括通过C++创建和操作Mat对象,例如构造全0、全1和单位矩阵。还展示了直接从图像加载数据并进行加减运算,以及如何高效地使用指针访问像素值,对于初学者掌握OpenCV图像处理基础非常有帮助。
摘要由CSDN通过智能技术生成

突然发现有一篇opencv操作mat数据的基础操作搞忘了,现在发出来,原来有一篇是只有操作结果,而且是用emgu写的,这里用c++实现并给出详细的代码。

数字图像处理其实就是处理二维矩阵数据。利用opencv来学习处理算法是一种比较好的方式。学习opencv,主要就是调用其中的图像处理函数来实现各种操作。如果要得到想要的处理结果,还需要对图像处理算法有一定的了解。同时,可能也有自己想写一些算法的冲动,并急切的想验证自己写的算法是否能够满足处理的要求。可是,真正到自己动手写的时候,总发现无从下手,比如,想得到图像中的ROI区域(感兴趣区域),想对图像做加减运算算,将两幅图像连接成一幅图像等等。如果要想随心所欲的按照自己的想法来操作一幅图像,则需要对opencv的mat数据操作非常熟练,建议初学者将这些基本的操作背下来,然后你会发现,你再进行这样的操作将是得心应手。

在opencv中对图像数据进行操作,我们可以简单的把mat数据看成一个二维数,里面存储的就是图像的数据,所以,对mat数组的操作就是在操作二维图像数据。下面我们来实现常见的Mat数据操作。

首先,在c++中新建一个空的控制台程序,然后,在属性管理器中添加我们之前设置好的opencv4.0配置文件,回到解决方案界面,选择源文件,右键添加新项目,然后得到一个空白的源文件,如图1和图2所示。

6fe288f7cd5bb5d144508d14362dbc47.png
图1添加配置好的opencv配置文件

e962c75e014742b77ab0e1b2375c8307.png
图2 添加空白的源文件

然后,就可以在这个空白的源文件中写代码了。下面用具体的代码来说明怎么操作mat数据。下面的代码都可以直接复制到自己的工程中直接运行如果涉及到要打开图像文件的,直接替换代码中的文件路径为自己电脑中的图像路劲就可以了。

int main(int argc, char** argv)
{
//构造3X3的Mat矩阵
// CV_8UC1和CV_8UC3是数据类型和通道,指8位无符号单通道和3数据,通道数据
Mat a(Size(3,3),CV_8UC1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值