图像识别案例在线实验闯关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)

相关新闻

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

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

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

2026/7/9 18:18:49阅读更多 →
Arco Print:为 Odoo 打造一套可交付的打印体系

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

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

2026/7/9 18:18:49阅读更多 →
2026小红书视频图片无水印保存方法,安卓苹果通用教程

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

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

2026/7/9 18:18:49阅读更多 →
从源码到部署:hinic3驱动开发入门教程,零基础也能快速上手

从源码到部署:hinic3驱动开发入门教程,零基础也能快速上手

从源码到部署:hinic3驱动开发入门教程,零基础也能快速上手 【免费下载链接】hinic3 provide Huawei Intelligent Network Interface Card driver for openEuler LTS version. 项目地址: https://gitcode.com/openeuler/hinic3 前往项目官网免费下…

2026/7/9 19:24:22阅读更多 →
3 种目标检测格式(VOC/COCO/YOLO)转换实战:Roboflow vs 自定义脚本效率对比

3 种目标检测格式(VOC/COCO/YOLO)转换实战:Roboflow vs 自定义脚本效率对比

目标检测数据集格式转换实战:Roboflow与Python脚本深度对比在计算机视觉领域,数据是训练高性能模型的基石。然而,不同框架和算法对数据格式的要求各异,VOC、COCO和YOLO三种主流格式各有特点,格式转换成为算法工程师的日…

2026/7/9 19:24:22阅读更多 →
猫抓浏览器插件:网页资源嗅探的终极解决方案

猫抓浏览器插件:网页资源嗅探的终极解决方案

猫抓浏览器插件:网页资源嗅探的终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾为无法下载网页上的视频而烦恼&am…

2026/7/9 19:24:22阅读更多 →
libevhtp多线程编程指南:如何利用线程池提升服务器性能

libevhtp多线程编程指南:如何利用线程池提升服务器性能

libevhtp多线程编程指南:如何利用线程池提升服务器性能 【免费下载链接】libevhtp A library based on the Libevent HTTP API and improved upon the Libevent HTTP interface. 项目地址: https://gitcode.com/openeuler/libevhtp 前往项目官网免费下载&…

2026/7/9 19:24:22阅读更多 →
C#游戏开发:数据驱动设计与组件系统架构实战解析

C#游戏开发:数据驱动设计与组件系统架构实战解析

1. 项目概述:从“硬编码”到“数据驱动”的架构跃迁如果你和我一样,在游戏开发这条路上摸爬滚打了好些年,肯定经历过这样的场景:策划拿着新需求过来,说想给某个怪物加个“攻击时有10%概率触发中毒”的效果。你一听&…

2026/7/9 19:24:22阅读更多 →
I2C/SPI/UART 通信协议对比:从 5 个维度解析嵌入式外设选型

I2C/SPI/UART 通信协议对比:从 5 个维度解析嵌入式外设选型

I2C/SPI/UART通信协议深度对比:嵌入式外设选型实战指南引言:通信协议选择的工程挑战在STM32项目开发中,我曾遇到一个典型的通信选型难题:需要为一个工业传感器网络选择主控芯片与多个传感器之间的通信方案。系统要求同时连接8个环…

2026/7/9 19:19:21阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/9 5:56:19阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/9 9:45:20阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
Three.js 着色器光效教程

Three.js 着色器光效教程

着色器光效 Shader Light ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自…

2026/7/9 0:04:37阅读更多 →
如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南 【免费下载链接】casemove A dedicated desktop app that enables you to move items in and out of storage units in CS2. 项目地址: https://gitcode.com/gh_mirrors/ca/casemove 还在为CS2存储单…

2026/7/9 0:04:37阅读更多 →
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M…

2026/7/9 0:04:37阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/9 9:45:20阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/9 15:50:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/9 14:14:17阅读更多 →