版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目十三任务二《人工智能技术的应用-人脸检测》任务小测验时长:30分钟满分:50分一、单选题(10题,每题2分,共20分)基础题(7题)下列关于计算机视觉(CV)的说法,正确的是()【基础题】CV仅能处理静态图像,无法处理视频流人脸检测是CV的基础应用之一,用于识别图像中的人脸位置OpenCV是专门用于自然语言处理的Java库D.CV不需要结合机器学习技术2.OpenCV中用于加载本地库的核心常量是()【基础题】A.Core.OPENCV_LIBB.Core.NATIVE_LIBRARY_NAMEC.OpenCV.LIB_NAMED.Native.LIBRARY_PATH3.下列哪类文件是Haar级联分类器的模型文件()【基础题】A..jar B..dll C..xml D..java4.OpenCV中用于读取图像的方法是()【基础题】A.Imgcodecs.read()B.Imgcodecs.imread()C.ImageIO.read()D.Mat.readImage()5.下列关于CascadeClassifier类的说法,正确的是()【基础题】A.用于存储图像数据B.用于加载Haar模型并实现检测C.用于绘制矩形标记D.用于保存处理后的图像6.人脸检测中,detectMultiScale()方法的返回结果类型是()【基础题】A.Mat B.RectC.MatOfRectD.Scalar7.OpenCV中用于在图像上绘制矩形标记的方法是()【基础题】A.Imgproc.drawRect()B.Imgproc.rectangle()C.Graphics.drawRect()D.Mat.drawRectangle()拓展题(3题)【全国计算机等级考试Java二级原题改编】下列代码片段中,能正确加载OpenCV本地库并创建Haar级联分类器的是()【拓展题】A.System.loadLibrary(Core.NATIVE_LIBRARY_NAME);CascadeClassifierdetector=newCascadeClassifier("haarcascade_frontalface.xml");B.Core.loadLibrary();CascadeClassifierdetector=newCascadeClassifier();C.System.load("opencv_java3416.dll");CascadeClassifierdetector=newCascadeClassifier("haarcascade_frontalface.xml");D.Native.loadLibrary("opencv");CascadeClassifierdetector=newCascadeClassifier("haarcascade_frontalface.xml");下列关于detectMultiScale()方法参数的说法,错误的是()【拓展题】缩放因子(scaleFactor)通常取值范围为1.1-1.4最小邻居数(minNeighbors)取值越大,误检测越少但可能漏检缩放因子取值越大,检测速度越慢但精度越高D.最小邻居数取值越小,检测越灵敏但误检测可能增多3.要在检测到的人脸区域绘制红色矩形(BGR颜色模式),正确的Scalar对象是()【拓展题】A.newScalar(255,0,0)B.newScalar(0,255,0)C.newScalar(0,0,255)D.newScalar(255,255,0)二、多选题(3题,每题3分,共9分)基础题(2题)下列属于OpenCV核心功能的有()【基础题】A.图像读取与保存B.人脸检测C.矩形标记绘制D.中文分词2.人脸检测的核心流程包括()【基础题】A.加载OpenCV本地库B.加载Haar级联分类器模型C.读取待检测图像D.人脸检测与标记绘制E.结果图像保存拓展题(1题)【全国计算机等级考试Java二级原题改编】下列关于OpenCV环境配置的说法,正确的有()【拓展题】需导入opencv-3416.jar作为核心依赖需加载opencv_java3416.dll本地库Haar级联分类器模型文件需部署到项目指定目录并配置正确路径D.无需配置VM选项,可直接加载本地库三、判断题(5题,每题2分,共10分)基础题(3题)1.OpenCV是跨平台的开源计算机视觉库,支持Java、C++等多种语言。()【基础题】2.Mat类是OpenCV中用于存储图像数据的核心类,本质是图像像素矩阵。()【基础题】3.Imgcodecs.imwrite()方法可将处理后的图像保存为jpg、png等格式。()【基础题】拓展题(2题)1.Haar级联分类器的minNeighbors参数取值为0时,检测灵敏度最高,无漏检但误检测较多。()【拓展题】2.人脸检测仅能识别正脸,无法检测侧脸或被部分遮挡的人脸。()【拓展题】四、编程题(2题,每题10.5分,共21分)基础题(1题)1.编写一个单人脸检测程序,使用OpenCV实现,具体要求:【基础题】①环境配置:导入OpenCV的jar包和本地库,加载haarcascade_frontalface_alt2.xml模型;②图像读取:读取路径为“src/img/person.jpg”的待检测图像;③核心功能:调用detectMultiScale()方法实现人脸检测,缩放因子设为1.1,最小邻居数设为3;在检测到的人脸区域绘制绿色矩形(线宽2);将标记后的图像保存到“src/img/output/person_detected.jpg”;④异常处理:检测模型加载失败、图像读取失败的情况,打印对应错误信息;⑤代码规范:添加必要注释,变量命名清晰。拓展题(1题)【全国计算机等级考试Java二级原题改编】编写一个人脸+眼睛联合检测程序,具体要求:【拓展题】①环境配置:正确配置OpenCV环境,加载人脸模型(haarcascade_frontalface_alt2.xml)和眼睛模型(haarcascade_eye.xml);②图像读取:读取包含单人脸的图像(路径“src/img/face_with_eyes.jpg”);③核心功能:先检测图像中的人脸,用蓝色矩形(线宽3)标记;在每个检测到的人脸区域内检测眼睛,用红色圆形(半径2)标记;在图像左上角添加文字“检测到X个人脸,Y只眼睛”(X为实际人脸数,Y为实际眼睛数);将最终结果保存到“src/img/output/face_eye_detected.jpg”;④异常处理:细分捕获模型加载失败、图像读取失败、检测无结果等异常,分别提示;⑤代码规范:逻辑分层,注释清晰,格式整洁。参考答案一、单选题1.B2.B3.C4.B5.B6.C7.B8.A9.C10.C二、多选题1.ABC2.ABCDE3.ABC三、判断题1.√2.√3.√4.√5.×四、编程题基础题参考代码(单人脸检测程序)importorg.opencv.core.Core;importorg.opencv.core.Mat;importorg.opencv.core.MatOfRect;importorg.opencv.core.Point;importorg.opencv.core.Rect;importorg.opencv.core.Scalar;importorg.opencv.imgcodecs.Imgcodecs;importorg.opencv.imgproc.Imgproc;importorg.opencv.objdetect.CascadeClassifier;/***单人脸检测程序*/publicclassSingleFaceDetection{publicstaticvoidmain(String[]args){try{//1.加载OpenCV本地库System.loadLibrary(Core.NATIVE_LIBRARY_NAME);System.out.println("OpenCV本地库加载成功!");//2.加载Haar人脸检测模型StringmodelPath="xml/haarcascade_frontalface_alt2.xml";CascadeClassifierfaceDetector=newCascadeClassifier(modelPath);if(faceDetector.empty()){System.out.println("错误:Haar模型加载失败,请检查路径是否正确!");return;}//3.读取待检测图像StringinputPath="src/img/person.jpg";Matimage=Imgcodecs.imread(inputPath);if(image.empty()){System.out.println("错误:图像读取失败,请检查路径或文件格式!");return;}System.out.println("图像读取成功,开始人脸检测...");//4.执行人脸检测(缩放因子1.1,最小邻居数3)MatOfRectfaceDetections=newMatOfRect();faceDetector.detectMultiScale(image,faceDetections,1.1,3);//5.绘制人脸标记(绿色矩形,线宽2)Rect[]faces=faceDetections.toArray();System.out.println("检测到"+faces.length+"个人脸!");for(Rectface:faces){Imgproc.rectangle(image,newPoint(face.x,face.y),newPoint(face.x+face.width,face.y+face.height),newScalar(0,255,0),//绿色(BGR)2//线宽);}//6.保存结果图像StringoutputPath="src/img/output/person_detected.jpg";booleansaveSuccess=Imgcodecs.imwrite(outputPath,image);if(saveSuccess){System.out.println("检测结果已保存到:"+outputPath);}else{System.out.println("错误:结果图像保存失败,请检查输出路径!");}}catch(Exceptione){System.out.println("程序执行异常:"+e.getMessage());e.printStackTrace();}}}拓展题参考代码(人脸+眼睛联合检测程序)importorg.opencv.core.*;importorg.opencv.imgcodecs.Imgcodecs;importorg.opencv.imgproc.Imgproc;importorg.opencv.objdetect.CascadeClassifier;/***人脸+眼睛联合检测程序*/publicclassFaceEyeCombinedDetection{publicstaticvoidmain(String[]args){//初始化变量CascadeClassifierfaceDetector=null;CascadeClassifiereyeDetector=null;Matimage=null;try{//1.加载OpenCV本地库System.loadLibrary(Core.NATIVE_LIBRARY_NAME);//2.加载人脸和眼睛检测模型StringfaceModelPath="xml/haarcascade_frontalface_alt2.xml";StringeyeModelPath="xml/haarcascade_eye.xml";faceDetector=newCascadeClassifier(faceModelPath);eyeDetector=newCascadeClassifier(eyeModelPath);//检测模型加载情况if(faceDetector.empty()||eyeDetector.empty()){thrownewException("人脸或眼睛模型加载失败,请检查路径!");}//3.读取待检测图像StringinputPath="src/img/face_with_eyes.jpg";image=Imgcodecs.imread(inputPath);if(image.empty()){thrownewException("图像读取失败,请检查路径或文件格式!");}//4.检测人脸MatOfRectfaceDetections=newMatOfRect();faceDetector.detectMultiScale(image,faceDetections,1.1,4);Rect[]faces=faceDetections.toArray();intfaceCount=faces.length;if(faceCount==0){thrownewException("未检测到人脸!");}//5.在人脸区域内检测眼睛并标记inteyeCount=0;for(Rectface:faces){//绘制人脸蓝色矩形(线宽3)Imgproc.rectangle(image,newPoint(face.x,face.y),newPoint(face.x+face.width,face.y+face.height),newScalar(255,0,0),//蓝色(BGR)3);//提取人脸区域子图像,仅在人脸内检测眼睛MatfaceROI=newMat(image,face);MatOfRecteyeDetections=newMatOfRect();eyeDetector.detectMultiScale(faceROI,eyeDetections,1.1,2);Rect[]eyes=eyeDetections.toArray();eyeCount+=eyes.length;//绘制眼睛红色圆形(半径2)for(Recteye:eyes){//计算眼睛在原图中的坐标(相对人脸ROI偏移)PointeyeCenter=newPoint(face.x+eye.x+eye.width/2,face.y+eye.y+eye.height/2);intradius=2;Imgproc.circle(image,eyeCenter,radius,newScalar(0,0,255),//红色(BGR)-1//填充圆形);}}//6.添加文字提示(左上角,白色文字,字体大小1.0,线宽2)Stringtext="检测到"+faceCount+"个人脸,"+eyeCount+"只眼睛";
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某电子厂来料检验细则
- 2026年10月梅岭街道锦旺社区招聘临时性公益性岗位2人考试模拟试题及答案解析
- 2027国家林业和草原局直属单位公开招聘应届毕业生282人(黑龙江19人)考试参考题库及答案解析
- 2026河北唐山弘慈医院招聘工作人员13名考试备考试题及答案解析
- 2026年10月广东珠海市教育局招聘直属学校事业编制教师178人考试参考题库及答案解析
- 2026天津市排球运动管理中心招聘高层次人才、急需紧缺人才2人笔试参考题库及答案解析
- 2026福建福州市江南智慧城市建设运营有限公司招聘3人笔试备考题库及答案解析
- 中国医学科学院基础医学研究所 北京协和医学院基础学院派遣人员招聘8人笔试备考题库及答案解析
- 2026年户外床行业洞察报告及未来五至十年发展趋势报告
- 2026年棕制品制造行业市场深度调研报告及未来五至十年技术路径与产业化前景
- 企业融资申请书范本及填写指南
- 藏羌碉楼营造技艺传承-洞察及研究
- DB35∕T 1036-2023 10kV及以下电力用户业扩工程技术规范
- 河北食品经营许可现场核查表及核查意见(食品销售)
- 数字智慧方案5445丨企业碳资产管理案例分享北京环境交
- 《奶牛的饲养管理》课件
- 中国文化概论教学课件
- 冷库储存生姜合同范例
- 气管切开套管的选择与更换
- GB/T 9799-2024金属及其他无机覆盖层钢铁上经过处理的锌电镀层
- 半球电压力锅说明书
评论
0/150
提交评论