首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【简单的CV】1.4 图片导入与像素值

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

作者头像
EdenChen
发布2019-11-06 13:32:04
发布2019-11-06 13:32:04
9890
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档