matlab tube函数,2015-08-25-OpenCV for Matlab Users (5) - OpenCV 自身易搞混的函数辨析
1. 究竟是先返回行数(号)还是列数(号)在 MATLAB 里非常明显,一般用类似于 size(img) 这样的命令,返回的顺序依次是 [rows, cols, tubs],也就是行数、列数,如果是 3 维张量的话还有 tube 数,非常的统一。但在 OpenCV 里,似乎不同函数返回的顺序并不一样,这一小节的目的就是捋清楚那些是先返回行数(号)后返回列数(号),哪些又正好相反。
1.1 minMaxLoc 函数
minMaxLoc 函数可以返回一个矩阵的最小值、最大值、最小值的坐标,最大值的坐标。但这个返回的坐标却是先列号,后行号,(列号,行号)。实验结果如下所示:
cv::Mat haha(3,3,CV_8UC1);
haha.setTo(1);
haha.at(0,1) = 2;
haha.at(1,2) = 0;
double minVal, maxVal;
cv::Point minPoint, maxPoint;
cv::minMaxLoc(haha, &minVal, &maxVal, &minPoint, &maxPoint);
std::cout<
std::cout<
std::cout<
std::cout<
// minVal = 0
// maxVal = 2
// minPoint = [2, 1]
// maxPoint = [1, 0]
1.2 size 函数
size 函数可以返回一个矩阵的尺寸,返回结果是 cv::Size 类型,但这个返回的坐标却是先列数,后行数,所幸该类型有 height 和 width 两个属性分别对应行数和列数。需要注意的是,不要看到 size 返回的结果就默认跟 MATLAB 一样,导致搞错行数列数,引发后续一系列出错。实验结果如下:
#include
#include
int main(int argc, char **argv)
{
cv::Mat_ haha = cv::Mat::zeros(4,5,CV_64F);
std::cout<
cv::Size hahaSize = haha.size();
std::cout<
std::cout<
std::cout<
std::system("PAUSE");
return 0;
}
2. 逻辑运算符号辨析
2.1 与运算和或运算
对 cv::Mat_ 类型做与或运算好像是用 & 和 |,而非 C++ 里对单个元素的 && 和 || 。
2.2 非运算
OpenCV 里对 cv::Mat_ 类型的矩阵取反用的是 ~,跟 MATLAB 一样,而非是 C++ 里面的 !。
初写于2015-08-25,未完待续。
首发于 Yimian Dai's Homepage,转载请注明出处。
参考文献
matlab tube函数,2015-08-25-OpenCV for Matlab Users (5) - OpenCV 自身易搞混的函数辨析相关推荐
- 阿里云accessKey如何创建?~ 2015.08.25
选择导航条上面的ACCESSKeys(工单服务左边,我一开始也没注意到) 创建一下,然后同意 验证一下 收工
- OpenCV | 双目相机标定之OpenCV获取左右相机图像+MATLAB单目标定+双目标定
博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 原本网上可以搜到很多关于双目相机标 ...
- opencv读取MATLAB双目标定的结果进行双目校正
概述: opencv内部也有双目标定的函数,但是结果有时候会飘,所以想先用MATLAB标定工具箱试试看.使用MATLAB先队两个相机进行单目标定,然后进行双目标定,将结果保存在xml文件中.xml文件 ...
- 如何把opencv编译到matlab,c – 为OpenCV编译MATLAB绑定
我正在尝试编译OpenCV 3.0的MATLAB绑定,即 Github的当前版本.我一直收到以下错误: CMake Error at /opencv/modules/matlab/compile.cm ...
- opencv 腐蚀 matlab,Opencv3编程入门笔记(4)腐蚀、膨胀、开闭运算、漫水填充、金字塔、阈值化、霍夫变换...
19 腐蚀erode.膨胀dilate 腐蚀和膨胀是针对图像中的白色部分(高亮部分)而言的,不是黑色的.除了输入输出图像外,还需传入模板算子element,opencv中有三种可以选择:矩形 ...
- opencv为matlab,OpenCV与matlab部分函数的对应关系(转)
2.matlab中的zeros函数相当于OpenCV中的cvSetZero函数. 3.matlab中的两矩阵点乘 .* 相当于OpenCV中的cvMul函数. 4.matlab中的两矩阵点除 ./ 相 ...
- B站台湾大学郭彦甫|MATLAB 学习笔记|08 图像处理I Image Processing
MATLAB学习笔记(08 图像处理I Image Processing) 如果想获得更好浏览体验的朋友可以转到下面链接 08 1. 基本操作 读取图像 imread() 展示图像 imshow() ...
- matlab函数全能速查宝典 pdf,MATLAB函数全能速查宝典
第1章 MATLAB操作基础 1.1 MATLAB概述 1.1.1 MATLAB产生的历史背景 1.1.2 MATLAB的主要功能 1.1.3 MATLAB的语言特点 1.2 MATLAB的运行环境及 ...
- opencv实现imfill_使用opencv实现matlab中的imfill填充孔洞功能
使用opencv实现matlab中的imfill填充孔洞功能,整体思路如下: 1. 首先给原始图像四周加一圈全0,并保存为另一幅图像 2. 使用floodFill函数给新图像进行填 ...
- matlab数学实验教程实验1实验报告,Matlab数学实验一2015(答案版)
Matlab数学实验一--matlab初体验 一. 实验目的及意义 [1] 熟悉MATLAB软件的用户环境: [2] 了解MATLAB软件的一般目的命令: [3] 掌握MATLAB数组操作与运算函数: ...
最新文章
- @ControllerAdvice注解(全局异常捕获)
- oracle ddl会被什么阻塞,MySQL Online DDL与DML并发阻塞关系总结
- ARMS V4.3发布,应用监控全新支持内存快照分析,全息排查等功能。
- 关于 varchar2 的最大长度
- Python Django单表查询之日期查询(大于小于范围查询)
- sklearn决策树概述
- mongodb dsl_具有Java DSL的Spring Integration MongoDB适配器
- POJ_2513Colored Sticks 字典树+
- css 动态生成圆形区域内扇形个数_CSS实用技巧总结
- JSP的7个动作指令-forward指令
- Centos系统查看版本
- 第 7 章 排序算法
- LINQ to SQL集成到应用程序中需考虑的一些问题
- 网页版office服务器,Office 网页版服务说明
- Linux系统配置静态IP地址步骤
- 斗鱼封禁主播陈一发,新媒体有出路吗?
- 如何使用QT实现左右滑动的按钮
- Linux命令之设置普通用户具有超级管理员权限sudo
- 斜体加粗昵称生成源码
- 【汇智学堂】docker网络管理之二