对BMP图像进行5*5的卷积核运算

未完待续(源代码已完成,因为作业还没


结束,因此不便于上传源代码,后续会补


上的)....

#在做并行计算的时候有这么一个作业

从bmp图片文件中读取图像像素数据,使用5×5的卷积核,步长为1,对该图像进行卷积运算,MPI并行实现图像卷积过程。请同学们认真查看附件,明确要求。

要求:

1. 将卷积核卷积后的像素矩阵输出到文本文档以供验证。

2. 计算程序并行部分的运行时间!!在该程序段首尾加入返回时间戳的函数并显示各个核的运算时间

3. 给出并行部分的整体运行时间并对比2核与4核的并行加速比与效率。

4. 写一份实验报告说明实验思路,实验过程,创新和优化部分

5. 程序测试环境为linux

1. 卷积边缘点时,采用空白点按照0处理,对应于opencv的border_constant模式。

2. 卷积核统一使用5x5高斯卷积核。图片现场给定。宽度会是32的整数倍。

3. 结果允许与实际结果有绝对值为1的误差



卷积核是什么

卷积是图像处理常用的方法,给定输入图像,在输出图像中每一个像素是输入图像中一个小区域中像素的加权平均,其中权值由一个函数定义,这个函数称为卷积核,
比如说卷积公式:R(u,v)=∑∑G(u-i,v-j)f(i,j) ,其中f为输入,G为卷积核。


步长是什么

请参考下面文章里面的示例3


卷积如何计算

以下面的动态图通俗直观地来讲,底层的虚线矩阵就代表原始矩阵,阴影矩阵就代表卷积核,阴影矩阵每次移动一格,意思就是步长是1,上层的实线有颜色的矩阵就是输出矩阵,输出矩阵的每个元素的计算方法就如动态图所演示的


最好再参考一下这篇博文帮助理解计算原理(重点看后面的图片)以及填充边

数字图像处理:基本算法-卷积和相关

1、像素数量不变full,假定输入矩阵为x*x, 卷积核为m*m,则输出矩阵为(x-3+1+(3-1))*(x-3+1+(3-1)),也就是x*x


2、假定输入矩阵为x*x, 假定输入矩阵为x*x, 卷积核为m*m,则输出矩阵为(x-3+1+(3-2))*(x-3+1+(3-2)),也就是(x-1)*(x-1)

........

m、假定输入矩阵为x*x, 假定输入矩阵为x*x, 卷积核为m*m(3*3为例),则输出矩阵为(x-3+1+(3-3))*(x-3+1+(3-3)),也就是(x-2)*(x-2)



高斯卷积核的生成(C/C++代码)

高斯公式如下

    

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值