作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

场景需求

matlab的meshgird是图像处理时常用的函数,用于生成网格采样点,在3D图形绘制中起了非常关键的作用。C++中运用OpenCV也可以实现同样的效果。

功能函数代码

/**
* @brief UnitCart                    生成网格采样点
* @param squaresize                  生成网格区域的尺寸
* @param x                           生成的x矩阵
* @param y                           生成的y矩阵
*/
void UnitCart(int squaresize, cv::Mat& x, cv::Mat& y) {CV_Assert(squaresize % 2 == 1);x.create(squaresize, squaresize, CV_32FC1);y.create(squaresize, squaresize, CV_32FC1);//设置边界x.col(0).setTo(-1.0);x.col(squaresize - 1).setTo(1.0f);y.row(0).setTo(1.0);y.row(squaresize - 1).setTo(-1.0f);float delta = 2.0f / (squaresize - 1.0f);  //两个元素的间隔//计算其他位置的值for (int i = 1; i < squaresize - 1; ++i) {x.col(i) = -1.0f + i * delta;y.row(i) = 1.0f - i * delta;}
}

C++测试代码

#include<iostream>
#include<opencv2/opencv.hpp>
#include<ctime>
using namespace std;
using namespace cv;
void UnitCart(int squaresize, cv::Mat& x, cv::Mat& y);
int main(void)
{cv::Mat x, y;int size = 1001;UnitCart(size, x, y);imshow("x", x);imshow("y", y);waitKey(0);system("pause");return 0;
}
void UnitCart(int squaresize, cv::Mat& x, cv::Mat& y) {CV_Assert(squaresize % 2 == 1);x.create(squaresize, squaresize, CV_32FC1);y.create(squaresize, squaresize, CV_32FC1);//设置边界x.col(0).setTo(-1.0);x.col(squaresize - 1).setTo(1.0f);y.row(0).setTo(1.0);y.row(squaresize - 1).setTo(-1.0f);float delta = 2.0f / (squaresize - 1.0f);  //两个元素的间隔//计算其他位置的值for (int i = 1; i < squaresize - 1; ++i) {x.col(i) = -1.0f + i * delta;y.row(i) = 1.0f - i * delta;}
}

测试效果

图1 效果图

图2 matlab效果图

如上图所示,C++所写的代码同matlab中meshgird生成的x和y矩阵一致。

如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

C++-实现matlab的meshgird(OpenCV)相关推荐

  1. matlab中caitu_tiqu,车牌识别matlab语音版+OpenCV版+测试图像和设计文档

    [实例简介] 该文件包含了车牌识别的两个版本:matlab语音版+OpenCV版,有丰富的测试实例和文档信息,测试结果能满足大部分的车牌识别. [实例截图] [核心代码] 5d61aaaa-2457- ...

  2. matlab fft2的作用,为什么Matlab fft2比OpenCV dft快得多(why Matlab fft2 is much faster than OpenCV dft)...

    为什么Matlab fft2比OpenCV dft快得多(why Matlab fft2 is much faster than OpenCV dft) 我只是测试比较OpenCV的dft函数和Mat ...

  3. 如何把opencv编译到matlab,c – 为OpenCV编译MATLAB绑定

    我正在尝试编译OpenCV 3.0的MATLAB绑定,即 Github的当前版本.我一直收到以下错误: CMake Error at /opencv/modules/matlab/compile.cm ...

  4. 3.6总结半年来的专业学习——图像处理、光栅投影、四步相移、多频外差,从matlab入门到opencv入门

    2019.9.17 研究生导师定了,老师给了一些论文,并推荐了几本书 1.计算机辅助光学测量/金观昌著 作者是在美国奥克兰大学杨老师实验室做过访问学者,所以书的内容和实验室的研究方向非常切合 2.基于 ...

  5. matlab imadjust 用 opencv改写

    原文:http://blog.csdn.net/yeyang911/article/details/18256393 自己测试的效果不是很好 实现函数功能 J = low_out +(high_out ...

  6. info matlab,c – 在OpenCV中是否有类似MATLAB的’impixelinfo()’功能?

    你可以这样做: #include #include using namespace std; using namespace cv; Mat img; void CallBackFunc(int ev ...

  7. opencv remap matlab,如何使用OpenCV的remap函数?

    这只是对文件的一个简单的误解,我不怪你--我也花了几次摸索才明白.文档很清楚,但是这个函数可能没有按您预期的方式工作:事实上,它在与我最初预期相反的方向工作. remap()没有做的是获取源图像的坐标 ...

  8. matlab 调用opencv,matlab调用opencv (mac 或 linux)

    思路为利用mexopencv编译opencv为mex,然后让MATLAB调用. 方法1 (仅适用于mac) 利用homebrew下载opencv3. $ brew install pkg-config ...

  9. Matlab与C/C++混合编程调用OpenCV

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com http:/ ...

最新文章

  1. python入门经典例题-Python入门经典练习题
  2. 第二冲刺站立会议01
  3. BaseAdapter的一个简单案例
  4. system函数 与 exec函数的区别
  5. SpringMVC解决前台传入的数组或集合类型数据
  6. how does gateway framework treat default system flag in customizing
  7. lombok的使用三部曲及使用中遇到的问题(持续更新)
  8. seo日常工作表_5 個日常要做的 SEO 維護工作
  9. java linux driver,JAVA:使用GeckoDriver在Linux上运行Selenium测试:驱动程序不可执行
  10. 集成学习(二)——XGBoost
  11. WebAPI框架里设置异常返回格式统一
  12. 【廖雪峰官方网站/Java教程】函数式编程
  13. [翻译]SQL Server 该做和不该做的
  14. 江苏海洋大学c语言期末考试题库,海南热带海洋学院18级C语言期末考试PAT编程题...
  15. java将geotiff文件发布为geoserver服务
  16. [转载]浙江杭西高2011年5月高二地理(徐霞客游记TV版-
  17. c语言英文拼写检查器,c – 简单的拼写检查算法
  18. Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation论文解析(视频超分)
  19. LitsModer —— 开发日志(上)
  20. pytorch的cuda环境搭建(GPU版本安装)

热门文章

  1. Linux防火墙-iptables
  2. ffmpeg编译的静态链接库问题
  3. (六)Oracle学习笔记—— 约束
  4. android sdk manager 更新失败
  5. 使用 IntraWeb (26) - 基本控件之 TIWMenu
  6. 嵌套循环连接(Nested Loops), 合并联接(Merge), 哈希联接(Hash)的适用情况
  7. qiniu rs.php,七牛API操作类 - suconghou的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. 正反斜杠的区别_电脑中的正斜杠(/)与反斜杠(\)的区别
  9. ​php mysql教学管理系统计算机毕业设让网站作品
  10. b区计算机科学与技术调剂院校,B区调剂院校梳理!希望你用不到,但一定要收藏!...