2024年5月30日发(作者:)

OpenCV计算机视觉基础教程试题及答案

一、单项选择题(本大题共20小题,每小题1分,共20分)

1、OpenCV创建于( )年。

A、1997 B、1998 C、1999 D、2000

2、OpenCV提供图像文件读写的模块是( )

A、core B、imgcodecs C、imgproc D、highgui

3、OpenCV使用( )语言实现。

A、Java B、C/C++ C、Python D、JavaScript

4、NumPy中可用于表示无符号整数的数据类型是( )。

A、int8 B、uint16 C、intp D、float

5、NumPy中可用于创建单位矩阵的函数是( )

A、array() B、zeros() C、arange() D、ones()

6、OpenCV用于将图像写入文件的函数是( )

A、imread() B、imshow() C、imwrite() D、VideoCapture()

7、OpenCV用于绘制椭圆的函数是( )

A、line() B、circle() C、ellipse() D、polylines()

8、OpenCV用于对图像执行透视变换的函数是( )

A、flip() B、resize() C、warpAffine() D、warpPerspective()

9、OpenCV用于实现截断阈值处理的参数是( )

A、THRESH_BINARY

C、THRESH_TRUNC

B、THRESH_BINARY_INV

D、THRESH_TOZERO

10、下列关于轮廓查找的说法错误的是( )

A、findContours()函数只能从二值图像中查找图像轮廓。

B、findContours()函数返回一个list对象。

C、findContours()函数返回图像中的所有轮廓。

D、父级轮廓和子级轮廓之间是嵌套关系。

11、下列选项中,可返回轮廓长度的函数是( )

A、arcLength() B、contourArea() C、approxPolyDP() D、convexHull()

12、下列选项中,适用于检测图像中的直线的函数是( )

A、Laplacian() B、Sobel() C、Canny() D、HoughLines()

13、下列选项中,可返回2维直方图的函数是( )

A、hist() B、calcHist() C、createCLAHE() D、equalizeHist()

14、使用分水岭算法分割图像时,不会执行的操作是( )

A、将原图像转换为灰度图像。

C、确定未知区域。

B、确定图像前景

D、从图像中删除背景

15、使用Shi-Tomasi角检测器执行角检测的函数是( )

A、cornerHarris() B、cornerSubPix() C、goodFeaturesToTrack()

findHomography()

16、调用drawMatches()函数绘制关键点时,如果不绘制单个关键点,应使用的参数是( )

A、DrawMatchesFlags_DEFAULT B、DrawMatchesFlags_DRAW_OVER_OUTIMG

D、

C、DrawMatchesFlags_DRAW_RICH_KEYPOINTS D

DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS

17、执行a=(12)后,下列选项中不能正确执行的( )

A、=(3,-1)

C、 ((3,4))

B、e((2,3))

D、((3,5),refcheck=False)

18、在OpenCV的绘图函数中,可用于设置绘制填充图形的参数是( )

A、color B、thickness C、lineType D、shift

19、下列选项中关于鼠标回调函数的说法错误的是( )

A、回调函数名称由用户定义。

B、回调函数可获得发生事件时的鼠标位置坐标。

C、可向回调函数传递自定义数据。

D、回调函数不能检测是否Alt、Ctrl、Shift等按键行为。

20、在滤波时会考虑距离和色差信息的是( )

A、medianBlur()

B、bilateralFilter() C、boxFilter() D、.blur()

得 分

评卷人

复查人

二、名词解释(本大题共5小题,每小题4分,共20分)

1、色彩空间

2、透视变换

3、均值滤波

4、反二值化阈值处理

5、腐蚀

得 分

评卷人

复查人

三、简单题(本大题共4小题,每小题5分,共20分)

1、请问OpenCV的主要功能有哪些?

2、请问如何执行图像加法运算?

3、请问使用OpenCV的ml模块中的kNN算法包含哪些步骤?

4、请问EigenFaces人脸识别包含哪些步骤?

得 分

评卷人

复查人

四、程序填空题(本大题共4个空,每空5分,共20分)

1、下面的命令创建一个数组,在改变其形状后输出,在划线处填

入适当的代码,将程序补充完整。

>>> a=(8)

>>> a

#创建数组

#输出数组

array([ 0, 1, 2, 3, 4, 5, 6, 7])

>>> =___________

>>> a

#更改数组形状

#输出数组

array([[ 0, 1, 2, 3,],

[ 4, 5, 6, 7]])

2、下面的程序在指定窗口中显示图像,在划线处填入适当的代码,将程序补充完整。

import cv2

img=('')

____________________________

#读取图像

#创建窗口

#在窗口中显示图像 ('imgw',img)

y(0)

3、下面的程序在窗口一半高度位置画水平白色直线,在划线处填入适当的代码,将程序补

充完整。

import numpy as np

import cv2

img=((200,320,3), 8) #创建一幅黑色图像

#在窗口一半高度位置画水平白___________________________________________

色直线

('draw',img)

y(0)

#显示图像

4、下面的代码执行Canny边缘检测,阈值1设置为150,阈值2设置为240,在划线处填入

适当的代码,将程序补充完整。