Opencv作业

1.单选题

1、关于OpenCV函数namedWindow(winname[, flags]) 理解错误的是(10 分)

A.winname表示新建窗口的名称

B.flags表示窗口的标识,默认是cv.WINDOW_AUTOSIZE,即窗口大小自适应图片

C.flags设置为cv.WINDOW_OPENGL表示用户可以改变窗口大小

D.flags设置为cv.WINDOW_NORMAL表示用户可以改变窗口大小

2、OpenCV函数imread(filename[, flags])用于读取图像文件或加载图像文件,关于其参数说法正确的是(10 分)

A.当flags是cv2.IMREAD_ANYDEPTH时,值是2,若载入的图像深度为16位或者32位,就返回对应深度的图像,否则转换为8位图像再返回

B.当flags是cv2.IMREAD_COLOR时,图像转为灰度图像

C.当flags是cv2.IMREAD_GRAYSCALE时,图像转为彩色图像

D.当flags是cv2.IMREAD_UNCHANGED时,值是0,载入原图

3、使用cv2.imread读取图片时,关于图片路径说法错误的是(10 分)

A.该函数不支持中文路径

B.该函数不支持单右斜线\

C.该函数要支持中文路径需要使用imdecode函数

D.如果不设置flags值,默认是以灰度图像加载图片

4、关于OpenCV显示窗口函数说法正确的是?(10 分)

A.cv2.resizeWindow(winname, width, height) 表示重新定义窗口大小,图片会根据窗口调整大小

B.cv2.destroyWindow(winname)表示销毁所有窗口

C.cv2.namedWindow(winname[, flags]) 表示创建一个窗口,flags默认值是cv.WINDOW_NORMAL

D.使用cv2.destroyAllWindows(winname)会销毁所有窗口

5、以下哪个不是OpenCV的组成部分?(10 分)

A.core

B.imgproc

C.imgcodes

D.Array

2.多选题

6、OpenCV获取鼠标事件时,关于响应函数和回调函数说法正确的有?(10 分)

A.使用cv2.SetMouseCallback(windowName, onMouse, param=None) 函数设置响应函数时,onMouse指向的是回调函数的入口地址

B.定义回调MouseCallback(event, x, y, flags, param)时,event指向的是鼠标事件,如右键点击、左键点击等

C.定义回调MouseCallback(event, x, y, flags, param)时,flags是鼠标事件标识,如右键拖拽、左键拖拽、按ctrl键等

D.如果为窗口同时设置两个回调函数,则两个回调函数都生效

7、如果使用img = cv.imread(“lena.jpg”, cv.IMREAD_COLOR)读取512*512大小的图像,则关于img说法正确的有(10 分)

A.img[100,100,0]是获取图像(100,100)位置点的蓝色通道像素值

B.img[100,100]是获取图像(100,100)位置点的三个通道的像素值

C.img[100,100,1]是获取图像(100,100)位置点的蓝色通道像素值

D.img[100,100,2]是获取图像(100,100)位置点的红色通道像素值

8、OpenCV中image的本质上是多维数组,可以利用numpy提供的shape函数得到矩阵的行数和列数,假设使用img = cv.imread(“../lena.png”, cv.IMREAD_COLOR)读取一张512*512的彩色图像,则以下说法正确的有(10 分)

A.numpy.shape(img)[0]表示图像的高度

B.img.shape[1]表示图像的宽度

C.img.shape[2]表示图像的通道数,值为3

D.img.shape的值是一个数组

3.代码题

9、编写程序,通过OpenCV在图像lena.png上画对角线(白色),显示画对角线后的图像5秒,然后调整显示窗口大小为1024*1024,把结果保存为lena1.jpg(20 分)

Opencv作业
#导入模块
import cv2 as cv
import numpy as np
​#读取图片
img1 = cv.imread("lena.png", cv.IMREAD_COLOR)

cv.line(img1,(0,0),(512,512),color=(255,255,255),thickness=1)#画线
cv.line(img1,(0,512),(512,0),color=(255,255,255),thickness=1)
cv.imshow("re_img",img1)
cv.waitKey(5000)#等待5秒
cv.destroyAllWindows()
srcImage=[1]
width = 1024
height= 1024
szName=("lena.png")
srcImage[0]=cv.imread(szName)
cv.namedWindow(szName,cv.WINDOW_NORMAL) #新建窗口
cv.line(srcImage[0],(0,0),(512,512),color=(255,255,255),thickness=1)
cv.line(srcImage[0],(0,512),(512,0),color=(255,255,255),thickness=1)#画线
cv.imshow(szName,srcImage[0])#在窗口中显示图片
cv.resizeWindow(szName,width,height)#调整窗口大小
cv.imwrite("lena1.jpg",srcImage[0])
cv.waitKey(0)
cv.destroyAllWindows()

Original: https://blog.csdn.net/qq_64342241/article/details/126810062
Author: 離183
Title: Opencv作业

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/703190/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球