【神经网络】图像的数字视角
文章目录
- 图像的数字视角
- 引言
- 直观感受
- 内在剖析
- 图像常用函数
- 图像三维层次
- 经验总结
图像的数字视角
引言
在机器视觉和目标识别领域,需要处理的对象都是图像,但这些领域的模型都是针对数值进行训练的,那么图像和数值之间是什么关系呢?答案是数字图像天生就是数值形式的。
直观感受

左边是手写数字3的图片形式,右边是手写数字3的像素点形式。
也就是说图像是由像素点组成的二维数组,二维数组的维数由图像的长和宽决定。其中每个像素点也是一个数组,若考虑单通道,数组就一个值,若RGB三通道,数组有三个值。换个说法,每个图像可以看成是三维数组的数值,三维分别是长度,宽度,通道数。下面使用图像常用的函数,去剖析图像的内在。
内在剖析
图像的内在其实就是一个三维数组。
图像常用函数
load_img():将目录下图片加载到程序中内存
img_to_array():将图片转成数字格式显示
# 路径下加载图片(图像形式)
img1 = load_img('../../dataset/att_faces/s2/1.pgm',color_mode='grayscale')
# 将图像转换成数值形式(数值形式)
img2 = img_to_array(img1)
# 对比显示
img1
img2

左边是图像形式,右边是对应的数值形式,可以看到有三层大括号,所以是三维数组。
图像三维层次
# 图像尺寸 (长,宽)
img1.size
(92,112)
# 三维数组外层尺寸
len(img2)
112
# 三维数组内层尺寸
len(img2[0])
92
# 像素点尺寸
len(img2[0][0])
3
可以看到,图像以三通道方式 加载,像素点尺寸为3,图像数值形式的最外层数组大小为图像的宽112,内层数组大小为图像的长92
经验总结
1 图像本质就是一个由长、宽、通道值组成的三维数组。
相关文章:
【神经网络】图像的数字视角
文章目录 图像的数字视角引言直观感受内在剖析图像常用函数图像三维层次 经验总结 图像的数字视角 引言 在机器视觉和目标识别领域,需要处理的对象都是图像,但这些领域的模型都是针对数值进行训练的,那么图像和数值之间是什么关系呢?答案是…...
ChatGPT的问题与回复的内容导出(Chorme)
我给出两种方式,第一种方式无使用要求,第二种方式必须安装Chorme 个人更推荐第二种方式 第一种方式:使用chatgpt自带的数据导出 缺点:会将当前未归档的所有聊天记录导出,发送到你的电子邮箱中 第二种方式:…...
游戏开发中的坑之十四 photoshop的javascript脚本批量修改分辨率
原因:美术提交大量2048x2048的贴图,导致工程臃肿。 方案:使用photoshop的javascript脚本批量把指定的文件夹以及所有子文件夹的贴图进行压缩。 脚本中指定针对2048x2048的贴图进行处理。 // Photoshop JavaScript to resize TGA images with…...
leetcode打卡#day45 携带研究材料(第七期模拟笔试)、518. 零钱兑换 II、377. 组合总和 Ⅳ、爬楼梯(第八期模拟笔试)
携带研究材料(第七期模拟笔试) #include<iostream> #include<algorithm> #include<vector>using namespace std;int main() {int N, V;cin >> N >> V;vector<int> weights(N1);vector<int> values(V1);int w…...
Vite+Vue3安装且自动按需引入Element Plus组件库
一,安装Element Plus npm install element-plus //node环境16二,安装插件 npm install unplugin-auto-import unplugin-vue-components -D三,配置vite.config.ts文件 //按需引入element-plus组件 import AutoImport from unplugin-auto-i…...
敬酒词大全绝对实用 万能敬酒词
举杯共饮,友情初识;再续一杯,情深似海,朋友相伴人生路更宽。酒逢知己千杯少,一饮而尽显真意,浅尝则留情,深情则尽欢。友情到深处,千杯不倒,若情浅则饮少,醉卧…...
【Java】已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常
文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常 一、分析问题背景 com.mysql.cj.jdbc.exceptions.CommunicationsException是Java程序在使用MySQL Connector/J与…...
Leetcode 76. 最小覆盖子串
76. 最小覆盖子串 - 力扣(LeetCode) class Solution {/**也是滑动窗口,思路简单,但实现起来容易出错。一个tmap记录目标串t的各个字符出现的次数;一个smap记录原串的某个滑动窗口里字符出现次数。两个指针left&#x…...
JAVAWEB--Mybatis03
Mybatis映射 什么是映射器 MyBatis的映射器就是用来解决这一问题,映射器其实是一个Interface接口,我们通过编写简单的映射器接口,就可以将我们之前在Dao中做的重复的,看起来比较低级的代码给替换掉。也就是说我们以后不用向之前那样写代码&…...
论文学习_Fuzz4All: Universal Fuzzing with Large Language Models
论文名称发表时间发表期刊期刊等级研究单位Fuzz4All: Universal Fuzzing with Large Language Models2024年arXiv-伊利诺伊大学 0.摘要 研究背景模糊测试再发现各种软件系统中的错误和漏洞方面取得了巨大的成功。以编程或形式语言作为输入的被测系统(SUTÿ…...
元数据相关资料整理 metadata
目录 定义和特点 关注点 流程 使用场景 元数据影响分析 元数据冷热度分析 元数据关联度分析 血缘分析 数据地图 元数据接口 相关产品的架构图 定义和特点 元数据(Metadata)是指关于数据的数据,或者说是描述数据的数据。它提供了一…...
【Android面试八股文】谈一谈你对http和https的关系理解
文章目录 HTTPHTTPSSSL/TLS协议HTTPS加密、解密流程HTTP 和 HTTPS 的关系具体的差异实际应用总结扩展阅读HTTP(HyperText Transfer Protocol)和HTTPS(HyperText Transfer Protocol Secure)是用于在网络上进行通信的两种协议。 它们在很多方面是相似的,但关键的区别在于安全…...
Vue3 中 setup 函数与 script setup 用法总结
在 Vue3 中,setup 函数和 script setup 是两种新引入的编写组件的方式,它们都是 Composition API 的一部分。 setup 函数: setup 函数是一个新的组件选项,它作为在组件内使用 Composition API 的入口。在 setup 函数中,我们可以定…...
Springboot 开发之任务调度框架(一)Quartz 简介
一、引言 常见的定时任务框架有 Quartz、elastic-job、xxl-job等等,本文主要介绍 Spirng Boot 集成 Quartz 定时任务框架。 二、Quartz 简介 Quartz 是一个功能强大且灵活的开源作业调度库,广泛用于 Java 应用中。它允许开发者创建复杂的调度任务&…...
企业中面试算法岗时会问什么pytorch问题?看这篇就够了!
如果要面试深度学习相关的岗位,JD上一般会明确要求要熟悉pytorch或tensorflow框架,那么会一般问什么相关问题呢? 文章目录 一. 基础知识与概念1.1 PyTorch与TensorFlow的主要区别是什么? 1.2 解释一下PyTorch中的Tensor是什么&…...
【学习】程序员资源网址
1 书栈网 简介:书栈网是程序员互联网IT开源编程书籍、资源免费阅读的网站,在书栈网你可以找到很多书籍、笔记资源。在这里,你可以根据热门收藏和阅读查看大家都在看什么,也可以根据技术栈分类找到对应模块的编程资源,…...
【3D模型库】机械三维模型库整理
1 开拔网 简介:开拔网是中国较早的机械设计交流平台,广受行业内的各个大学,公司以及行业人士的欢迎。网站有非常丰富的3D模型,CAD图纸,以及各类热门软件的下载。同时我们也为行业搭建一个平台,提供各类设计…...
基于Python-CNN深度学习的物品识别
基于Python-CNN深度学习的物品识别 近年来,深度学习尤其是卷积神经网络(CNN)的快速发展,极大地推动了计算机视觉技术的进步。在物品识别领域,CNN凭借其强大的特征提取和学习能力,成为了主流的技术手段之一…...
Qt | 简单的使用 QStyle 类(风格也称为样式)
01、前言 者在 pro 文件中已添加了正确的 QT+=widgets 语句 02、基础样式 1、QStyle 类继承自 QObject,该类是一个抽像类。 2、QStyle 类描述了 GUI 的界面外观,Qt 的内置部件使用该类执行几乎所有的绘制,以确保 使这些部件看起来与本地部件完全相同。 3、Qt 内置了一系…...
Idea连接GitLab的过程以及创建在gitlab中创建用户和群组
上期讲述了如何部署GitLab以及修复bug,这期我们讲述,如何连接idea。 首先安装gitlab插件 下载安装idea上并重启 配置ssh免密登录 使用管理员打开命令行输入:ssh-keygen -t rsa -C xxxaaa.com 到用户目录下.ssh查看id_rsa.pub文件 打开复制…...
DIY热熔螺母压入装置:从原理到实践,解决3D打印螺纹连接痛点
1. 项目概述:为什么我们需要一台热熔螺母压入装置?如果你和我一样,是个热衷于用3D打印制作原型、工具甚至小批量功能件的爱好者,那你一定遇到过这个痛点:如何在塑料件上实现一个坚固、耐用且能反复拆装的螺纹连接&…...
轻量级协作平台设计:集成Git与敏捷开发的项目管理实践
1. 项目概述与核心价值最近在团队协作和项目管理工具选型上,又和几个技术负责人聊了一圈。大家普遍的感受是,市面上的工具要么太重,像Jira、Confluence,配置复杂,学习成本高,小团队用起来像“杀鸡用牛刀”&…...
STM32F407最小系统板DIY全记录:从原理图绘制到PCB打样,手把手带你复刻一块自己的核心板
STM32F407最小系统板DIY全记录:从原理图绘制到PCB打样,手把手带你复刻一块自己的核心板 1. 项目规划与芯片选型 在开始动手之前,我们需要明确几个关键问题:为什么要选择STM32F407?这个芯片适合哪些应用场景?…...
告别闪烁屏!瑞芯微RK3399开发板Debian系统烧写保姆级教程(含DriverAssistant v5.1.1 + AndroidTool v2.69)
RK3399开发板Debian系统烧写实战:从屏幕闪烁到完美显示的终极解决方案 当你在RK3399开发板上成功烧写Debian系统后,最期待的莫过于看到系统稳定运行的画面。然而,不少开发者却遭遇了屏幕闪烁的困扰——这个问题看似简单,背后却隐藏…...
Python驱动GitHub Actions状态监控:打造物理信号塔灯实时反馈CI/CD流水线
1. 项目概述与核心价值在团队协作开发中,持续集成与持续部署(CI/CD)的流水线状态是项目健康度的“晴雨表”。我们每天都会频繁地提交代码、触发构建,然后盯着GitHub Actions页面上那些或绿或红的标记。但问题在于,这种…...
(最新版)GitGitHub实操图文详解教程(01)—Git的起源
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 在现代软件开发过程中,版本控制工具已经成为代码管理与团队协作的重要基础设施。随着软件项目规模不断扩大以及多人协作需求日益复杂,开发团队不仅需…...
告别手动点点点:用CAPL脚本实现CANoe诊断自动化测试(附VIN码读取与文件写入完整代码)
告别手动点点点:用CAPL脚本实现CANoe诊断自动化测试(附VIN码读取与文件写入完整代码) 在汽车电子测试领域,诊断功能验证是每个测试工程师的日常必修课。想象一下这样的场景:你需要反复验证几十个ECU的VIN码读取功能&am…...
K210实战:三种高效部署kmodel模型至TF卡的进阶方案
1. K210模型部署的痛点与进阶方案概览 第一次用K210做图像识别项目时,最让我头疼的就是模型部署问题。每次修改模型都要反复插拔TF卡,调试过程像在玩打地鼠游戏。后来才发现,基础的拷贝粘贴只是入门操作,真正高效的部署方式能节省…...
Android Studio中文界面终极指南:3个步骤告别英文开发障碍
Android Studio中文界面终极指南:3个步骤告别英文开发障碍 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 还在为Andr…...
电气设备、工业炉行业企业官网模板资源整理
做工业类企业网站的开发和设计时,很多人都会遇到一个痛点:行业适配的官网模板太少,要么风格老旧,要么和电气设备、工业炉这类硬核行业的调性不符,从零开发又耗时耗力。 今天就结合自己的建站经验,给大家整…...
