博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xcode+OpenCV3.4.0 折腾(4)
阅读量:5912 次
发布时间:2019-06-19

本文共 1182 字,大约阅读时间需要 3 分钟。

~ 开始使用OpenCV了 ~

今天尝试的是 容器 Mat 的小部分操作

内容来自于

https://www.bilibili.com/video/av17748771/?from=search&seid=3213762283999816753#page=4

视频中的src,dst的用法,感觉是

src = source      源
dst = destination 目的
可以看清楚数据传送的方向

构造一个 Mat

比如现在打开了一张图片 test1.png

Mat src = imread("/Users/Aphas1a/Documents/C/OpenCV/opencvtest/test1.png");    if (src.empty())    {        cout << "could not load...\n";        return 1;    }

构造一个和 Mat src 一样的 Mat 的方法。注释掉的是达到一样目的的操作

dst = Mat(src.rows, src.cols, src.type());    //dst = Mat(src.size(),src.type());    //dst = src.clone();    //src.copyTo(dst);

把彩图转灰度图

cvtColor(src, dst, COLOR_BGR2GRAY);
  • 最新几个版本的OpenCV已改为COLOR_BGR2GRAY类似形式,视频里是CV_BGR2GRAY
  • 因为OpenCV的颜色空间以 BGR 为主,在这里用COLOR_RGB2GRAY时如果用imshow()显示图片似乎没什么关系,但不知道其他地方混用会怎么样 0. o

单纯的构建一个自定义的 Mat
(但是用法看手册有25种。。具体要用哪种还是要用了再查吧 Orz)

cv::Mat::Mat()

举一个应用的例子:

建立一个【100 × 100】像素的,【每通道8位 无符号 char型 3通道】的,
每个像素初始化颜色为红色的(OpenCV的颜色空间以 BGR 为主)的 Mat
PS. 向量长度和通道数要一致

cv::Mat::Mat(100, 100, CV_8UC3, Scalar(0,0,255));

还有2个函数不知道怎么归类乱放在这吧

cv::Mat::zeros()  // 类似matlab生成0矩阵cv::Mat::eye()  // 类似matlab生成单位矩阵

Mat对象使用的要点

  • 使用了OpenCV的c++接口,不用考虑内存分配问题
  • 赋值操作和拷贝构造函数只会复制 头部分
  • 使用clone和copyTo两个函数会 完全复制

转载于:https://www.cnblogs.com/aphas1a/p/8363901.html

你可能感兴趣的文章
区块链初始化与实现POW工作量证明
查看>>
C++的Json解析库:jsoncpp和boost .
查看>>
如何将经纬度利用Google Map API显示C# VS2005 Sample Code
查看>>
基于html5 canvas和js实现的水果忍者网页版
查看>>
Android 知识梳理
查看>>
【反射】使用反射来获取注解原数据信息-类信息-方法信息等
查看>>
如何合理的规划jvm性能调优
查看>>
莫比乌斯反演初步与实际应用
查看>>
开发人员可以提高效率的chrome插件推荐
查看>>
1.4.运维平台之硬件CMDB
查看>>
性能测试分享:性能测试工具开发的案例分享(下)
查看>>
微信小程序如何像webview一样加载html5网页
查看>>
apache和nginx的区别
查看>>
CentOs6.5系统下MySQL-5.7.19安装
查看>>
ms sql convert的使用细节
查看>>
精通Java设计模式从初见到相爱之命令设计模式(15)
查看>>
linux sar命令详解
查看>>
使用Java8实现自己的个性化搜索引擎
查看>>
龙家贰少的MarkDown学习笔记
查看>>
通过Gearman实现MySQL到Redis的数据复制
查看>>