社区
图形处理/算法
帖子详情
求matlab中的conv2卷积函数用c++如何实现
fengbingchun
领域专家: C/C++技术领域
2010-09-14 02:18:21
matlab中C = conv2(H1, H2, A, 'same');
这条语句用c++如何实现呢?
求大侠们帮帮忙!!!
...全文
1006
4
打赏
收藏
求matlab中的conv2卷积函数用c++如何实现
matlab中C = conv2(H1, H2, A, 'same'); 这条语句用c++如何实现呢? 求大侠们帮帮忙!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freeboy1015
2012-09-22
打赏
举报
回复
调用opencv函数:
enum ConvolutionType {
/* Return the full convolution, including border */
CONVOLUTION_FULL,
/* Return only the part that corresponds to the original image */
CONVOLUTION_SAME,
/* Return only the submatrix containing elements that were not influenced by the border
*/
CONVOLUTION_VALID
};
void conv2(const Mat &img, const Mat& kernel, ConvolutionType type, Mat& dest) {
Mat source = img;
if(CONVOLUTION_FULL == type) {
source = Mat();
const int additionalRows = kernel.rows-1, additionalCols = kernel.cols-1;
copyMakeBorder(img, source, (additionalRows+1)/2, additionalRows/2,
(additionalCols+1)/2, additionalCols/2, BORDER_CONSTANT, Scalar(0));
}
Point anchor(kernel.cols - kernel.cols/2 - 1, kernel.rows - kernel.rows/2 - 1);
int borderMode = BORDER_CONSTANT;
filter2D(source, dest, img.depth(), flip(kernel), anchor, 0, borderMode);
if(CONVOLUTION_VALID == type) {
dest = dest.colRange((kernel.cols-1)/2, dest.cols - kernel.cols/2)
.rowRange((kernel.rows-1)/2, dest.rows - kernel.rows/2);
}
}
dengzikun
2010-09-14
打赏
举报
回复
cvFilter2D好象不是做卷积的.
效率问题需要优化.可以参考INTEL IPP库,看是否有类似的实现.
也可考虑用GPU优化,参考nvida的CUDA.
fengbingchun
2010-09-14
打赏
举报
回复
我在网上看到过这个代码,如果图像太大,效率会很低,不知用opencv的cvFilter2D函数是否与用conv2得到的结果一致呢?
dengzikun
2010-09-14
打赏
举报
回复
http://download.csdn.net/source/731440
conv2
卷积
计算整理
关于
conv2
函数
的计算过程 假设有两个矩阵a,b,a的大小是ma行na列,b的大小是mb行nb列。 c=
conv2
(a,b)计算这两个矩阵的
卷积
,c的大小是ma+mb-1行,na+nb-1列。 计算过程如下: 1.对矩阵a进行边界填补0,填充规则是:在a的第一行之前和最后一行之后分别填充mb-1行0,并在a的第一列之前和最后一列之后分别填充nb-1列0; 2.对矩阵b进行翻转,上下换位
matlab
2c使用
c++
实现
matlab
函数
系列教程-conv
函数
全栈工程师开发手册 (作者:栾鹏)
matlab
2c动态链接库下载
matlab
库
函数
大全
matlab
2c基础教程
matlab
2c开发全解教程
matlab
2c调用方法: 1、下载
matlab
2c动态链接库 2、将
matlab
2c.dll、
matlab
2c.lib和
matlab
2c.h放到项目头文件目录下 3、在cpp文件
中
引入下面的代码 #include "Mat
opencv
中
有和
matlab
中
conv2
一样功能的
函数
吗?
opencv
matlab
opencv
中
有和
matlab
中
conv2
一样功能的
函数
吗? 我正在把一份
matlab
图像处理的代码翻译成
C++
代码,用的是opencv的库,现在有一个问题,
matlab
中
的
conv2
函数
在opencv
中
有没有对应的
函数
呢?我用的是cvFilter2D,不过结果貌似不对,下面是两个
函数
分别做
卷积
的结果:
【
matlab
知识补充】
conv2
、filter2、imfilter
函数
原理
原文地址:http://www.ilove
matlab
.cn/thread-293710-1-1.html -------------------------------------
conv2
函数
---------------------------------------- 1、用法 C=
conv2
(A,B,shape); %
卷积
滤波 复制代码 A
MATLAB
的
conv2
函数
版权声明:本文为转载,出处: https://blog.csdn.net/tina_ttl/article/details/51034809
MATLAB
的
conv2
函数
实现
步骤(
conv2
(A,B)): 其
中
,矩阵A和B的尺寸分别为ma*na即mb*nb ① 对矩阵A补零,第一行之前和最后一行之后都补mb-1行,第一列之前和最后一列之后都补nb-1列(注意
conv2
不支持其他的边...
图形处理/算法
19,464
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章