笔试—科大讯飞嵌入式软件开发笔试

题型:3道编程题

题目1:

图像的卷积是图像处理的最常用的方法,当前神经网络中的卷积神经网络当中也用到了卷积的操作来提取特征。卷积一般包含以下几个概念:.

1.输入:一个m*n大小的矩阵,是一个二维数组,是图像的数据信息:例如

2

3

7

4

6

2

9

6

6

9

8

7

4

3

3

4

8

3

8

9

7

7

8

3

6

6

3

4

4

2

1

8

3

4

6

3

2

4

1

9

8

3

0

1

3

9

2

1

4

记作二维数组I.

2.卷积核:一个k*l大小的矩阵,是一个二维数组,k,I为奇数,保证卷积核有一个中心,例如:

3

4

4

1

0

2

-1

0

3

记作二维数组K,该卷积核的中心就是K[1][1].

(如果K的大小为3*5,则中心为K[1][2])

3.卷积操作:将卷积核的中心对准输入的某个元素,两个矩阵会有重合区域,将两个矩阵的重合区域中的对应重合元素相乘后求和,得到的结果就是输出中对应元素的数据。将卷积核分别从左往右、从上往下进行滑动,重复对重合中的元素进行相乘后求和,就能够完成对整个图像的卷积操作了。例如:

上面的卷积核K的中心对准输入I[0][0],重合部分就有4个元素,卷积结果就是K[1][1]*I[0][0] +K[1][2] * I[0][1] + K[2][1] *1[1][0] + K[2][2]*I[1][1]。

上面的卷积核K的中心对准输入I[2][3],重合部分就有9个元素,卷积结果就是K[0][0]*I[1][2] + K[0][1]*1[1][3] + K[0][2]*I[1][4] + K[1][0]*1[2][2] + K[1][1]*I[2][3]+ K[1][2]*1[2][4] + K[2][0]*1[3][2] + K[2][1]*][3][3] + K[2][2]*I[2][4]

4.输出:将卷积核滑动过程中的卷积结果按照顺序放入一个二维数组中,即图像卷积的输出。

5.滑动步长:卷积核滑动的距离,即卷积核每次滑动经过的元素个数,如果为2即每次滑动跳过一个元素,今天我们仅考虑步长为1的情况,即卷积核会经过每个输入的元素,这样输出数组的大小是跟输入数组的大小是一样的。现在让我们来编程完成一些具体操作吧,并且这次操作有一些特殊的要求,当输出中的元素小于0时要变更为0,当输出中的元素大于255时要变更为255。

 

输入描述:

第一行输入4个数字M、N、K、L。M、N表示输入数组的大小,K、L表示卷积核的大小。M,N,K,L皆不大于256

之后M行表示输入每行的数据,每行有N个数字。

再之后K行表示卷积核的每行的数据,每行有L个数字。如:

5     6     3     3

1     1     1     1     1     1

1     2     2     2     2     1

2     3     3     1     2     2

1     2     2     3     4     5

5     6     6     6     3     4

1     10   1

1     20   1

1     8     1

 

输出描述

输出M行数据,每行N个数字,表示卷积后的数据结果如:

31   41   42   42   41   31

52   84   84   69   74   51

65   107 109 79   106 98

91   137 139 138 145 161

110 154 157 165 110 127

 

示例1

7     7     3     3

2     3     7     4     6     2     9

6     6     9     8     7     4     3

3     4     8     3     8     9     7

7     8     3     6     6     3     4

4     2     1     8     3     4     6

3     2     4     1     9     8     3

0     1     3     9     2     1     4

4     8     4

8     16   8

-4   8     -4

 

输出

80   108184   168 152 144 168

180 2

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等

全部评论
第一题示例的输出有问题吗?第一个例子,最后一行感觉输出有问题。第二个示例的输出只给了一半
2 回复 分享
发布于 2023-08-10 15:00 四川
mark
点赞 回复 分享
发布于 2023-03-20 13:30 广东
mark mark mark
点赞 回复 分享
发布于 2023-03-20 17:21 广东
M
点赞 回复 分享
发布于 2023-03-20 19:00 广东
收藏
点赞 回复 分享
发布于 2023-03-20 21:50 广东
mark
点赞 回复 分享
发布于 2023-05-15 21:02 湖北
题2:给几个未知个数的变量的线性表达式,是否有解,若有解则求其中一个变量的值:这个在C++中是需要使用矩阵运算库Eigen求解吗?
点赞 回复 分享
发布于 2023-06-26 12:06 广东
mark
点赞 回复 分享
发布于 2023-07-03 16:51 广西
mark
点赞 回复 分享
发布于 2023-07-22 17:33 山东
111
点赞 回复 分享
发布于 2023-08-09 10:22 天津
Mark
点赞 回复 分享
发布于 2023-09-24 20:47 四川
mark
点赞 回复 分享
发布于 03-01 22:00 湖北
mark
点赞 回复 分享
发布于 05-10 14:08 四川
滴滴
点赞 回复 分享
发布于 07-07 22:31 广东

相关推荐

蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
14
32
分享
牛客网
牛客企业服务