首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++中拉普拉斯矩阵的计算

C++中拉普拉斯矩阵的计算
EN

Stack Overflow用户
提问于 2012-11-23 21:15:15
回答 3查看 2.9K关注 0票数 11

我一直在尝试实现名为Learning Based Digital Matting的研究论文中描述的数字遮片算法。

它的MATLAB代码可以在here上找到。我正在尝试使用OpenCV 2.4.3和UMFPACK将MATLAB代码转换为C++。

问题是OpenCV中没有现成的名为getLap_iccv09_overlapping (计算输入图像的拉普拉斯矩阵)的函数,我必须用cpp编写自己的实现。我从我的实现中得到了错误的结果。

有没有提供矩阵/图像Laplacian Matrix calculation的C/C++库?

EN

回答 3

Stack Overflow用户

发布于 2012-11-23 22:29:03

我最近不得不将几个Matlab函数“翻译”成C++ (使用OpenCV),不幸的是你找不到完全相同的函数。有一些相似的函数,但结果并不完全相同,特别是对于矩阵的边界。

我建议你阅读并理解Matlab函数使用的算法(对矩阵的运算),并用c++编写(Opencv对于矩阵运算来说很棒)。

您可以使用一个小矩阵(例如,4*4),然后一步一步地进行测试,首先是矩阵内部的元素,然后是边和边界(我发现边界条件更难理解)。

祝好运!

票数 1
EN

Stack Overflow用户

发布于 2012-11-27 23:43:21

this function还不够吗?

票数 0
EN

Stack Overflow用户

发布于 2012-11-29 21:44:53

你的Matlab和C++版本的函数有多相似?听起来,您可能只需要逐步执行各个阶段,检查各个中间结果是否相同,并尝试以这种方式查找错误。

你可能会发现writeMat.cpp的用法,这是一个函数,它可以获取你的Matlab::Mat矩阵,并将其保存为Matlab::Mat文件,这将使比较变得更容易-在OpenCV代码中的不同位置写出一个.m,将它们加载到Matlab中,运行Matlab脚本并在适当的点进行比较。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13529902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档