已知黑白BMP格式图片分辨率,求其大小公式,谢谢

已知黑白BMP格式图片分辨率,求其大小公式,谢谢,第1张

分辨率,是指的精度,一般分辨率是72dpi,即每英寸长度上排布72个像素点,普通打印机的打印精度是300dpi。
大小是指文件占据存储空间的多少,比如文件大小2M,指的是这个文件占用存储空间大小是2MB。
像素,就是在横向上和纵向上有多少个像素,组成一个矩阵,如图像大小是800800,16001200等。
已知黑白BMP格式分辨率,求其大小公式,必须考虑到图像的像素大小等其因素,没有通过分辨率而能计算出图像大小的公式。

24位真彩,每个像素占24bit。
1024768个像素点。所以就是102476824=18874368(bit)
再除以8转换为byte
(8bit=1byte)
=2359296(byte)
又因为1024byte=1KB
再除以1024等于
2304KB
如果再除以1024就是225MB了,以此类推
如果是256色
就是8bit一个像素
把公式中的24换成8
二值图
就是1bit每像素
其他格式以此类推
换算法则:
8bit(位)=1Byte(字节)
1024Byte(字节)=1KB
1024KB=1MB
所以
你提的问题总结一下就是:
102476824/8/1024=2304KB

个人答案,仅供参考:
先说256色,256色就是说每个像素需要提供256种颜色那么每个像素对应多大的字节呢256转换为二进制就是二的八次方,也就是说只有每个像素占8位,才可以达到256种颜色所以每个像素的大小是8bit也就是1Byte
而分辨率为1024x768的未经压缩的就有1024x768个像素所以这个占1024x768B也就是768KB

的分辨率决定于的像素数和的尺寸(幅面),像素数高且尺寸小的,即单位面积上的像所含的像素数多的,其分辨率也高。在处理软件上打开时,就会看到一组数字,有像素数,文档大小(长、宽的尺寸)。

根据此数据,即可计算出该的分辨率。计算的方法是,以其在长度方向上的像素数,除以长度的尺寸数(英寸),或以其在宽度方向的像素数,除以宽度的尺寸数(英寸)。

例如以的像素是640×480,其尺寸大小是长等于3556寸,宽等于2667寸,该的分辨率就是640÷3556=180(像素/英寸),或480÷2667=180(像素/英寸)。

再如,一的像素是640×480,其尺寸大小是宽9寸,高为67寸,该的分辨率就是640÷89=72(像素/英寸)。

扩展资料:

分辨率对应如下:

30W=640×480,向下支持320×240

100W=1024×768,向下支持720×480、640×480等

130W=1280×1024(虽然超过了720P但这是非标准的高清分辨率)

720P=1280×720(这个是标准的高清分辨率,最入门的,像素数92万)

1080P=1920×1080(这个是标准全高清,像素数200万左右)

“像素”是相机感光器件上的感光最小单位。就像是光学相机的感光胶片的银粒一样,记忆在数码相机的“胶片”(存储卡)上的感光点就是像素。

要想得到分辨率高(也就是细腻的照片),就必须保证有一定的像素数


实验:
找一个640480的jpg彩色图转成黑白色之后,大小为210KB左右。
再将模式转成灰度后保存,大小为190KB左右
再另存一张bmp格式的图,大小为300KB左右,
再将jpg图另存时,品质设为中等,大小为100左右。
再将一半用黑色或者白色覆盖,保存后大小为55KB左右,
全部用白色或者黑色填充,大小为20KB左右。
结论是,不同的黑白图像,包含的灰度的点不同,信息值和容量都会改变。
具体计算方法。。。。。。。。。。。。未知。

1、读取一个bmp文件,把bmp的所有像素用rgbArray存储起来。
2、然后取其中一个像素点(x0,y0),把它构造成一个Color对象。
3、构造一个类型一样的BufferedImage imgOut,把像素矩阵rgbArray写到BufferedImage。
4、把imgOut写入文件
这个Color对象有getRed,getBlue,getBlack方法,可以分别获取这个像素在三个颜色分量上的灰度值。

现实工作中用不到,至少我在这行业10年了没遇到过关于这类的问题
图像的尺寸是以像素来表示的,图像尺寸和分辨率决定图像的大小。
要想改变图像的大小,可以通过修改图像的像素或者分辨率的方法,需要注意的是修改图像的像素时分辨率不会变化,但修改分辨率时像素会随之变化。
另外还有一种在不改变图像尺寸和分辨率的情况下改变大小的方法,用PHOTOSHOP打开你要改变你,然后另存为,点确定,在随后出现的窗口中的图像选项那里设置压缩值,数值越小就表示文件越小但是像素和分辨率是不变的。
----------
图像文件大小和像素大小, 用Photoshop打开图像文件后看到的是像素大小, 像素大小约等于宽度*高度*3, (为什么*3? RGB三个通道) 至于为什么会大小不一样,说法1: JPG是压缩格式,打开它实际是解了压的, 说法2: 这是由的格式决定的,因为存贮的格式不同他的大小也就不一样, windows里面默认的格式是BMP,PHOTOSHOP里默认的是PSD,包括了多余的通道和图层等信息造成)
-----------
附1: ps里对改变《图像大小》的深层的认识
附2: 以下是一些有关分辨率的介绍。原文在这里。
分辨率是和图像相关的一个重要概念,它是衡量图像细节表现力的技术参数。但分辨率的种类有很多,其含义也各不相同。正确理解分辨率在各种情况下的具体含义,弄清不同表示方法之间的相互关系,是至关重要的一步。下面对几种常见的图像输入/输出分辨率及不同图像输入/输出设备分辨率作个介绍,供大家参考。
图象分辨率
图象分辨率(Image Resolution):指图象中存储的信息量。这种分辨率有多种衡量方法,典型的是以每英寸的像素数(PPI)来衡量。图象分辨率和图象尺寸的值一起决定文件的大小及输出质量,该值越大图形文件所占用的磁盘空间也就越多。图象分辨率以比例关系影响着文件的大小,即文件大小与其图象分辨率的平方成正比。如果保持图象尺寸不变,将图象分辨率提高一倍,则其文件大小增大为原来的四倍。
扫描分辨率
扫描分辨率:指在扫描一幅图象之前所设定的分辨率,它将影响所生成的图象文件的质量和使用性能,它决定图象将以何种方式显示或打印。如果扫描图象用于640×480像素的屏幕显示,则扫描分辨率不必大于一般显示器屏幕的设备分辨率,即一般不超过120DPI。但大多数情况下,扫描图象是为了在高分辨率的设备中输出。如果图象扫描分辨率过低,会导致输出的效果非常粗糙。反之,如果扫描分辨率过高,则数字图象中会产生超过打印所需要的信息,不但减慢打印速度,而且在打印输出时会使图象色调的细微过渡丢失。一般情况下,图象分辨率应该是网幕频率的2倍,这是目前中国大多数输出中心和印刷厂都采用的标准。然而实际上,图象分辨率应该是网幕频率的15 倍,关于这个问题,恐怕会有争议,而具体到不同的图象本身,情况也确实各不相同。要了解详细内容,请看《网屏角度及输出分辨率》。
网屏分辨率
网屏分辨率(Screen Resolution):又称网幕频率,指的是打印灰度级图象或分色图象所用的网屏上每英寸的点数。这种分辨率通过每英寸的行数(LPI)来表示。
图象的位分辨率
图象的位分辨率(Bit Resolution):又称位深,是用来衡量每个像素储存信息的位数。这种分辨率决定可以标记为多少种色彩等级的可能性。一般常见的有8位、16位、 24位或32位色彩。有时我们也将位分辨率称为颜色深度。所谓“位”,实际上是指“2”的平方次数,8位即是2的八次方,也就是8个2相乘,等于256。所以,一副8位色彩深度的图象,所能表现的色彩等级是256级。
设备分辨率
设备分辨率(Device Resolution):又称输出分辨率,指的是各类输出设备每英寸上可产生的点数,如显示器、喷墨打印机、激光打印机、绘图仪的分辨率。这种分辨率通过 DPI来衡量,目前,PC显示器的设备分辨率在60至120DPI之间。而打印设备的分辨率则在360至1440DPI之间。
1.扫描仪、打印机、显示器的分辨率
对扫描仪、打印机及显示器等硬件设备来说,其分辨率用每英寸上可产生的点数即DPI(Dots Per Inch)来度量。
扫描仪的分辨率要从三个方面来确定:光学部分、硬件部分和软件部分。也就是说,扫描仪的分辨率等于其光学部件的分辨率加上其自身通过硬件及软件进行处理分析所得到的分辨率。光学分辨率是扫描仪的光学部件在每平方英寸面积内所能捕捉到的实际的光点数, 是指扫描仪CCD的物理分辨率,也是扫描仪的真实分辨率,它的数值是由CCD的像素点除以扫描仪水平最大可扫尺寸得到的数值。分辨率为1200DPI的扫描仪,其光学部分的分辨率只占400~600DPI。扩充部分的分辨率(由硬件和软件所生成的)是通过计算机对图像进行分析,对空白部分进行科学填充所产生的(这一过程也叫插值处理)。光学扫描与输出是一对一的,扫描到什么,输出的就是什么。经过计算机软硬件处理之后,输出的图像就会变得更逼真,分辨率会更高。目前市面上出售的扫描仪大都具有对分辨率的软、硬件扩充功能。有的扫描仪广告上写9600×9600DPI,这只是通过软件插值得到的最大分辨率,并不是扫描仪真正光学分辨率。所以对扫描仪来讲,其分辨率有光学分辨率(或称光学解析度)和最大分辨率之说。
我们说某台扫描仪的分辨率高达 4800DPI(这个4800DPI是光学分辨率和软件差值处理的总和),是指用扫描仪输入图像时,在1平方英寸的扫描幅面上,可采集到4800× 4800个像素点(Pixel)。1英寸见方的扫描区域,用4800DPI的分辨率扫描后生成的图像大小是4800Pixel×4800Pixel。在扫描图像时,扫描分辨率设得越高,生成的图像的效果就越精细,生成的图像文件也越大,但插值成分也越多。
我们说某台打印机的分辨率为 360DPI,是指在用该打印机输出图像时,在每英寸打印纸上可以打印出360个表征图像输出效果的色点。表示打印机分辨率的这个数越大,表明图像输出的色点就越小,输出的图像效果就越精细。打印机色点的大小只同打印机的硬件工艺有关,而与要输出图像的分辨率无关。
我们说某个品牌的显示器的分辨率为80DPI,是指在显示器的有效显示范围内,显示器的显像设备可以在每英寸荧光屏上产生80个光点。举个例子来说,一台14英寸的显示器(荧光屏对角线长度为14英寸),其点距为028mm,那么:显示器分辨率=253995mm/inch÷028mm/Dot≈90DPI(1 inch=253995mm)。显示器出厂时一般并不标出表征显示器分辨率的DPI值,只给出点距,我们根据上述公式即可算出显示器的分辨率。根据我们算出的DPI值,我们进而可以推算出显示器可支持的最高显示模式。假设该14英寸显示器荧光屏有效显示范围的对角线长度为115英寸,因显示器的水平方向和垂直方向的显示比例为4:3,故可设有效显示范围水平宽度为4X英寸,垂直高度为3X英寸,根据数学上的勾股定理,可得X=115÷5=23英寸。所以有效显示范围宽度为23×4=92英寸,垂直高度为23×3=68英寸。最高显示模式约为:800(92×90)×600(68× 90),这时是用一个点(Dot)表示一个像素(pixel)。
上面主要讲述了扫描仪、打印机和显示器的设备分辨率。严格来讲,设备分辨率与用该设备处理的图像的分辨率是两个既有联系又有区别的概念。设备分辨率是由硬件设备的生产工艺决定的,尽管可以通过软件的方法调整有些设备的分辨率,但它们都有一个局限的最高分辨率,用户不能对它有任何突破。图像的分辨率是描述图像本身精细程度的一个量度。对于扫描仪、打印机处理的图像,其分辨率以每英寸上的像素数即PPI(Pixels Per Inch)来衡量。用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率,比如800×600、640×480等等。图像本身是否精细只与图像自身的分辨率有关,而与处理它的硬件设备的分辨率无关,但图像的处理结果是否精细却与处理它的设备的分辨率直接相关。举例来说,一幅 90PPI的图像是比较精细的了,如果将它放在分辨率为40DPI的打印机上打印,打印效果也是相当糟糕的。对扫描仪来讲,其分辨率的高低与生成图像的精细程度成正比,但其分辨率只能为图像分辨率给出一个初始值(这个PPI值与扫描仪的分辨率的DPI的设定值是相等的),并不对图像的分辨率产生限制,我们可以用软件任意调整扫描生成的图像的分辨率。另外,需要注意的是,我们通常说一幅640×480的图像,说的是图像的大小,其中并不包括图像分辨率的含义。
2.数码相机的分辨率
数码相机分辨率的高低决定了所拍摄影像最终所能打印出画面的大小,或在计算机显示器上所能显示画面的大小。数码相机分辨率的高低,取决于相机中CCD(Charge Coupled Device:电荷耦合器件)芯片上像素的多少,像素越多,分辨率越高。数码相机的分辨也是由其生产工艺决定的,在出厂时就固定了的,用户只能选择不同分辨率的数码相机,却不能调整一台数码相机的分辨率。就同类数码相机而言,分辨率越高,相机档次越高,但高分辨率的相机生成的数据文件很大,对加工、处理的计算机的速度、内存和硬盘的容量以及相应软件都有较高的要求。

吃我一记洛阳铲~
BMP的文件中,文件头写明了BMP的大小,用的是DWORD记录大小,即unsigned
long类型,4字节32位,故最大是2^32bit=4GB。
而这4GB中,前14字节是文件头信息,加上40个头信息,共54字节。
后面是调色板信息,这个可以是0可以是很多个,有兴趣的自己去查查,反正我们取最小是0。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13152115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-12
下一篇 2023-06-12

发表评论

登录后才能评论

评论列表(0条)

保存