图像识别案例在线实验闯关Educator头歌答案分享

发布时间:2026/10/12 20:44:32

图像识别案例在线实验闯关Educator头歌答案分享 第1关手写体图像数据集初识# -*- coding: utf-8 -*- #读取机器学习包sklearn内置的手写体图像数据集输出数据集的基本信息 #图像像素数据集的大小x_size(元组)第1个元素为行数第2个元素为列数 #图像标签向量y #返回 (x_size,y) def return_values(): import sklearn.datasets asklearn.datasets.load_digits() Xa.data #图像像素数据集 Ya.target #图像标签向量 x_size X.shape y Y return (x_size,y) #********** End **********#第2关基于全像素特征的手写体图像识别模型def return_values(): import sklearn.datasets asklearn.datasets.load_digits() #2 提取数据 Xa.data Ya.target #3 划分测试集和训练集 from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_testtrain_test_split(X,Y,test_size0.2,random_state4) #4构建支持向量机模型 import sklearn.svm as svm from sklearn.svm import SVC clf svm.SVC(kernellinear) clf.fit(x_train,y_train) rvclf.score(x_train, y_train); y1clf.predict(x_test) ry1-y_test vlen(r[r0])/len(y1) return (rv,v) #********** End **********#第3关基于全像素特征的人脸识别模型# -*- coding: utf-8 -*- #读取机器学习包sklearn内置的人脸图像数据集 #按80%训练和20%测试进行随机划分构建支持向量机分类模型(线性核函数) #返回模型的准确率rv和测试集的预测准确率rs。 def return_values(): #1 读取数据集 import sklearn.datasets asklearn.datasets.fetch_olivetti_faces() #2 提取数据 Xa.data Ya.target from sklearn.decomposition import PCA pcaPCA(n_components0.95) pca.fit(X) X1pca.transform(X) from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_testtrain_test_split(X1,Y,test_size0.2,random_state4) import sklearn.svm as svm from sklearn.svm import SVC clf svm.SVC(kernellinear) clf.fit(x_train,y_train) rvclf.score(x_train, y_train); y1clf.predict(x_test) ry1-y_test rslen(r[r0])/len(y1) return (rv,rs) #********** End **********#第4关基于像素主成分的人脸识别模型# -*- coding: utf-8 -*- #读取机器学习包sklearn内置的人脸图像数据集 #对像素特征数据做主成分分析并提取主成分要求累计贡献率在95以上。 #基于提取的主成分数据作为输入特征数据 #按80%训练和20%测试进行随机划分构建支持向量机分类模型(线性核函数) #返回模型的准确率rv和测试集的预测准确率rs。 from sklearn.decomposition import PCA #主成分分析模块 def return_values(): #1 读取数据集 import sklearn.datasets asklearn.datasets.fetch_olivetti_faces() #2 提取数据 Xa.data Ya.target from sklearn.decomposition import PCA pcaPCA(n_components0.95) pca.fit(X) X1pca.transform(X) from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_testtrain_test_split(X1,Y,test_size0.2,random_state4) import sklearn.svm as svm from sklearn.svm import SVC clf svm.SVC(kernellinear) clf.fit(x_train,y_train) rvclf.score(x_train, y_train); y1clf.predict(x_test) ry1-y_test rslen(r[r0])/len(y1) return (rv,rs) #********** End **********#第5关彩色图像识别模型from PIL import Image import numpy as np import os def return_values(): path图片2/ # 纸币图像文件夹 fnameos.listdir(path) Xnp.zeros((len(fname),9)) # 预定义自变量9个颜色矩特征 Ynp.zeros(len(fname)) # 预定义因变量面额值 for i in range(len(fname)): imgImage.open(pathfname[i]) # 读取第i张图片 imimg.split() # 提取RGB通道并归一化截取中心100x100区域 Rnp.array(im[0])/255 row_1int(R.shape[0]/2)-50 row_2int(R.shape[0]/2)50 con_1int(R.shape[1]/2)-50 con_2int(R.shape[1]/2)50 RR[row_1:row_2,con_1:con_2] Gnp.array(im[1])/255 GG[row_1:row_2,con_1:con_2] Bnp.array(im[2])/255 BB[row_1:row_2,con_1:con_2] # 构造X计算三个通道的一阶、二阶、三阶颜色矩 # R通道 r1 np.mean(R) r2 np.std(R) a_r np.mean(np.abs(R - r1)**3) r3 a_r**(1./3) # G通道 g1 np.mean(G) g2 np.std(G) a_g np.mean(np.abs(G - g1)**3) g3 a_g**(1./3) # B通道 b1 np.mean(B) b2 np.std(B) a_b np.mean(np.abs(B - b1)**3) b3 a_b**(1./3) X[i, :] [r1, r2, r3, g1, g2, g3, b1, b2, b3] # 构造Y从文件名提取面额值 png_name fname[i] Y[i] float(png_name.split(_)[0]) # 划分训练集和测试集构建支持向量机模型 from sklearn.model_selection import train_test_split from sklearn.svm import SVC x_train, x_test, y_train, y_test train_test_split(X, Y, test_size0.2, random_state4) clf SVC(class_weightbalanced, random_state0) # 使用平衡类别权重 clf.fit(x_train, y_train) # 计算准确率 rv clf.score(x_train, y_train) # 训练集准确率 rs clf.score(x_test, y_test) # 测试集准确率 return (rv, rs)第6关彩色图像识别模型拓展 任务 现有1元、5元、10元、20元、50元、100元共6种面额的纸币彩色图像,储存在图片文件夹内相关信息及要求如下 1每种纸币均从正、反两面及两个不同的方向进行采集图像各10张即每种纸币采集40张6种货币则总图片有240张。 2图片的命名为面额值_采集序号.png比如1元纸币40张依次命名为1_1.png~1_40.png其他同理。 3读取图片文件夹计算每张图片的R、G、B三个颜色通道的一阶、二阶、三阶颜色矩特征共9个特征指标数据记为自变量X 4同时构造纸币面额标签数据集记为因变量Y。 5按80%训练和20%测试进行随机划分数据集构建支持向量机分类模型 6返回模型的准确率rv和测试集的预测准确率rs。 from PIL import Image import numpy as np import os def return_values(): import os path图片/ fnameos.listdir(path) Xnp.zeros((len(fname),9)) #预定义自变量即9个颜色矩阵特征指标 Ynp.zeros(len(fname)) #预定义因变量 for i in range(len(fname)): imgImage.open(pathfname[i]) #读取第i张图片 imimg.split() Rnp.array(im[0])/255 #R通道 row_1int(R.shape[0]/2)-50 row_2int(R.shape[0]/2)50 con_1int(R.shape[1]/2)-50 con_2int(R.shape[1]/2)50 RR[row_1:row_2,con_1:con_2] Gnp.array(im[1])/255 #G通道 GG[row_1:row_2,con_1:con_2] Bnp.array(im[2])/255 #B通道 BB[row_1:row_2,con_1:con_2] #构造X png_namefname[i] X[i]png_name.split(_)[0] #构造Y png_namefname[i] Y[i]png_name.split(_)[0] #建模及计算 from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_testtrain_test_split(X,Y,test_size0.2,random_state4) import sklearn.svm as svm from sklearn.svm import SVC clf svm.SVC(kernellinear) clf.fit(x_train,y_train) rvclf.score(x_train, y_train); y1clf.predict(x_test) ry1-y_test rslen(r[r0])/len(y1) return (rv,rs)
延伸阅读

更多相关文章

2026/10/13 9:20:33

基于MA12070与PIC18F4610的高保真音频系统设计

1. 项目概述:基于MA12070与PIC18F4610的高保真音频系统设计在便携式音频设备和智能家居产品快速发展的今天,如何在小体积、低功耗的前提下实现高保真音频输出成为工程师面临的关键挑战。MA12070作为英飞凌推出的高效D类音频放大器IC,配合PIC1…

2026/10/12 21:38:24

Arco Print:为 Odoo 打造一套可交付的打印体系

引言在 Odoo 项目中,打印需求几乎无处不在。销售订单、采购订单、送货单、生产单、标签、装箱单、客户定制单据……这些单据看似只是“打印出来”,但在真实项目里,往往牵涉模板设计、数据组织、业务入口、纸张适配、打印机选择和后续维护。Ar…

2026/10/13 8:50:58

2026小红书视频图片无水印保存方法,安卓苹果通用教程

2026年小红书平台功能与风控规则持续更新,不少老旧的去水印、无水印保存方法已经失效。日常浏览小红书时,无论是自己发布的作品需要备份存档,还是收藏学习他人已授权的优质图文、视频素材,大家都希望获取干净无水印的原版内容。本…

2026/10/13 12:11:24

哈工大编译原理期末复习完整笔记:从DFA到中间代码全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 12:11:24

t3code实测:让AI代码生成恪守团队工程纪律的实践

最近这几天,我朋友圈里至少有三种不同技术栈的人在讨论同一个名字:t3code。有做前端的在聊它的生成效率,写后端的在琢磨它的规则校验,就连做技术管理的朋友也在问它能不能当团队代码规范的守门员。我花了两周时间把它拉到一个真实…

2026/10/13 12:11:24

VS Code 插件怎么选?15 个高性价比插件与配置避坑指南

简介:一份面向VS Code用户的插件推荐与使用指南,以PDF格式合并整理成单个文件,集中介绍十五款高实用性插件,涵盖中文语言包、拼写检查、样式表自动补全、JavaScript代码片段、路径智能提示、Vue 2与Vue 3开发辅助、标签自动闭合与…

2026/10/13 12:11:24

IPA转APK:三条可行路径与跨端打包实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 12:11:24

华为SMProxy短信网关Java协议栈开发实战

简介:本资源是面向Java开发者与通信协议集成工程师的华为短信网关协议开发套件,聚焦SMProxy多协议代理能力,支持在Unix与Windows双平台快速对接华为短信网关。资源提供SMPP、SMGP、SGIP、CNGP及CMPP2.0/3.0六大主流短消息协议的完整Java实现与…

2026/10/13 5:19:27

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/12 12:01:26

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/12 12:54:07

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/13 0:04:41

基于Triton部署YOLO目标检测:从训练脚本到线上服务

简介:这份资源面向希望将目标检测模型落地到生产环境的深度学习开发者与算法工程师,聚焦于用 Triton Inference Server 部署 YOLOv9 的完整实战方案,解决从训练权重到线上推理服务之间的工程化难题。压缩包共 16 个文件,约 886KB&…

2026/10/13 0:04:41

手把手教你云端部署Qwen-Image-2.1:从GPU选型到在线文生图服务

Qwen-Image-2.1 这个开源的图像生成模型,最近在内容创作和 AI 应用圈子里热度相当高。它属于通义 Qwen 系列里的视觉生成分支,让我眼前一亮的是它对中文长文本的理解能力——以前用那些老方案生成带中文文字的图,十个里九个是“乱码印刷体”&…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑