前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【简单的CV】1.4 图片导入与像素值

【简单的CV】1.4 图片导入与像素值

作者头像
EdenChen
发布于 2019-11-06 05:32:04
发布于 2019-11-06 05:32:04
9340
举报
文章被收录于专栏:ROBOTEDUROBOTEDU

01

PNG、JPG和BMP?

在学习导入图片和像素值之前,我们先讨论一个问题,为什么电脑中图片文件的格式会有JPG/PNG/BMP/....等不同格式呢?

首先我们明确一点,格式的不同不会变化图片的内容,比如三张图就是同张图片的三种不同格式:

既然内容一致,为什么电脑要区分不同格式的文件?答案是图片的压缩算法不同。BMP|JPG|PNG分别对应不同的图片压缩算法,所以它们在电脑硬盘中占用的空间也就各不同:

特别说明位图格式(BMP格式)使用的算法是我们上期所说的RPG格式+一个透明值,一个像素具有三种颜色的值+一个透明值的格式,在计算机种每个单独颜色值用一个字节(1 Byte)来存储,所以一个像素值就需要用四个字节(4 Byte,24bit)来表示,这样编码的图片也称作24位图片。

那么之前我们说过小米传说的1亿像素如果用BMP的格式来存放,一张图片需要多大的硬盘空间呢?

额,嗯,差不多382GB....

JPG和PNG是使用了其他的算法可以大幅减少硬盘的占用空间,感兴趣的同学可以自行搜索。

02

图片文件的读取(C#)

C#界面,Mircrosoft Visual Studio 2017

WPF界面,单击按钮可以选择导入图片,单击图片的任意位置可以将当前位置的像素信息提示在文本中。

软件演示

图片文件读取代码

Filter 过滤器设置(设置想要查看的文件格式)

RestoreDirectory 设置记录默认路径

ShowDialog() 打开对话框

03

像素值读取

注意,这里首先创建的是一个Image,Image不具有读像素的方法,因此我们把它赋值到一个Bitmap(位图类)中,来读取像素值。

Image.FromFile() 由文件创建Image

Bitmap.GetPixel() 读取像素值

小结

1. 计算机中的图片格式,BMP格式图片的编码方式

2. VS中读取图片的方法

3. VS中获取图片像素值的方法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ROBOTEDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
为什么同一张图片,格式不同,大小会不一样?(科普)
下面是四张同样的图,但是格式不一样,观察它们的内存大小会发现,jpg格式图片只有20.9KB,而png格式的有385KB,BMP格式更大,带有透明通道的RGBA格式BMP最大,达到664KB。
叶子陪你玩
2021/11/02
4.8K0
【简单的CV】1.7 图像二值化
二值化图像是一种特殊的灰度度,它的像素只有两个值0或者1,这样一个像素点用一位(Bit)就可以表示。
EdenChen
2019/11/06
7910
【简单的CV】1.7 图像二值化
Android粒子篇之Bitmap像素级操作
零、前言 1.粒子效果的核心有三个点:收集粒子、更改粒子、显示粒子 2.Bitmap的可以获取像素,从而得到每个像素的颜色值 3.可以通过粒子拼合一张图片,并对粒子操作完成很多意想不到的效果 4.本项目源码见文尾捷文规范第一条,文件为BitmapSplitView.java ---- 一、初识 1.什么是Bitmap像素级的操作: 相信大家都知道一张jpg或png放大后会是一个个小格子,称为一个像素(px),而且一个小格子是一种颜色 也就是一张jpg或png图片就是很多颜色的合集,而这些合集
张风捷特烈
2018/12/14
1.8K0
Android 实现 图片 转 字符画 效果
Android开发中对图片的操作,显示一般都是通过Bitmap进行的,我们可以通过图片路径获取Bitmap对象:
音视频开发进阶
2020/07/06
1.3K0
Android 实现 图片 转 字符画 效果
鸿蒙开发之PixelMap介绍与实现图片变换
很多读者一看这个文章标题,可能根本不知道能干嘛,且不感兴趣。所以咱们先说说,今天写的这个技术有没有用。
猫林老师
2024/12/23
2620
鸿蒙开发之PixelMap介绍与实现图片变换
YUV和RGB存储规则
我们开发平常图片的数据都是RGB,但是设计视频相关的都会使用到YUV格式,为什么呢?
码客说
2023/06/10
1.2K0
YUV和RGB存储规则
C#下怎样处理并保存单色格式PNG图片?
用微软自带的画图,打开一个已经存在的单色PNG图片文件,然后复制图像粘贴上去,做点反色或其他处理再保存,可以得到黑白单色PNG图片;但是,如果有很多黑底白字的图片要想改成白纸黑字的单色PNG格式保存这就很麻烦了,譬如2,3百张BMP或JPG图片用来保存只有白纸黑字的书页真是浪费。可是,有些索引格式图像如单色位图,或者单色PNG,如果用C#的Graphics类处理之后,保存文件只能得到非索引色格式或者GIF格式,若想以原格式保存文件似乎没有直接方便的方法可用,不得已只能用自己的代码一点一点去写像。 以下代码,参考网上找了些的,加上实际证得:(注释并不是必需要的,有些编写代码过程中的记录,或者为了方便说明)
全栈程序员站长
2022/09/13
1.1K0
WPF图片处理相关
GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。
码客说
2020/08/12
3.8K0
C#对图片文件的压缩、裁剪操作初探
在做项目时,对图片的处理,以前都采用在上传时,限制其大小的方式,这样带来诸多不便。毕竟网站运维人员不一定会对图片做处理,经常超出大小限制,即使会使用图片处理软件的,也由于个人水平方面原因,处理效果差强人意。 于是采用C#为我们提供的图像编辑功能,实现一站式上传,通过程序生成所需大小、尺寸的目标图片。 进入正题--> 先说图片压缩 第一步:需要读取一个图片文件,读取方法: // <param name="ImageFilePathAndName">图片文件的全路径名称</param> 说明: Image类:引
小端
2018/04/16
2.2K0
仿真实例2——BMP图片文件读写
BMP文件格式,又称为Bitmap(位图)它是一种图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此我们经常使用它来保存RAW数据。BMP文件总体上由4部分组成,分别是位图文件头、位图信息头、调色板和图像数据,如下图所示
瓜大三哥
2020/05/07
1.4K0
2--安卓多媒体之Bitmap操作全解析
本篇将介绍: 1.用Bitmap获取图片的一些信息 2.利用已知的Bitmap对象使用canvas生成新的Bitmap 3.图象形状的Matrix矩阵变换的分析 4.图象颜色的ColorMatrix矩阵变换的分析 ---- 一、Bitmap简介 我们知道.bmp格式的图片文件,它是一种无压缩,保留全信息的图片格式,称为位图 Bitmap是一个安卓对图片的封装类,名称便是位图,它可以解析二进制的图片文件(如,宽、高、每个像素点等) 二进制流的来源可以是多种多样的(文件、网络、项目资源、二进制
张风捷特烈
2018/12/04
9940
2--安卓多媒体之Bitmap操作全解析
WinCE中解决“图片采集及压缩”问题的开发历程
   让WinCE工控板上的摄像头拍照,然后将图片数据通过GPRS发送到指定的主机数据库中。
用户1170933
2022/05/10
1.4K0
一个自定义的C#图片处理类,用于生成缩略图信息
这个C#类专门用于图片缩略图处理,除了可以将图片缩小成指定大小的缩略图外,还可以用于给图片打上图片水印,
用户7108768
2021/11/02
5810
【愚公系列】2024年01月 GDI+绘图专题 DrawImage
在WinForm中,可以使用Graphics类的DrawImage方法来绘制图像。具体步骤如下:
愚公搬代码
2024/01/03
5680
C#图像压缩相关方法总结
本文所描述的所有内容和算法,均未使用任何外部库,且已经在开源压缩软件PicSizer中使用
DearXuan
2022/02/08
1.1K0
BMP文件解析_图片分析
BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit、16bit、24bit或者32bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。 由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
全栈程序员站长
2022/11/15
1.9K0
Android图片相关
Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB8888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。
码客说
2019/10/22
7820
常见图片格式了解 前言概念了解图片类型图片比较与场景应用一图胜前言总结引用 & 参考
作为一个客户端开发,对于图片格式一直没有一个清晰的了解,这里简单的罗列出各种图片格式的区别,文章中有部分是他人的引用,会在底部放上链接,望轻喷。
菜的黑人牙膏
2019/03/19
1.2K0
TRTC案例:截图体积与清晰度
业务场景和架构:TRTC安卓端与小程序端实现视频互通,房间旁路到直播,采用直播云端截图。
singleli
2020/10/24
2.7K0
TRTC案例:截图体积与清晰度
opencv下imread函数返回值
openCV的imread()函数和imwrite()函数能支持各种静态图像文件格式。
用户2965768
2018/08/30
3.4K0
opencv下imread函数返回值
推荐阅读
相关推荐
为什么同一张图片,格式不同,大小会不一样?(科普)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档