今天鞋百科给各位分享怎么算位图的mb的知识,其中也会对8位位图转换为24位位图以及8位位图转换为24位位图课题的意义。(8位图24位32位什么区别)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧!
8位位图转换为24位位图以及8位位图转换为24位位图课题的意义。
8位图是指256级灰度,是黑白图像,24位是真彩图像,一般一些图像分析黑白就够了,而且分析起来信息量较小,所以很多时候就把真彩转换成黑白来处理。所以设计到24位转8位,这是为了处理起来运算方便。如果说8位转24位那就比较麻烦了,因为从信息量比较多转到少信息连比较容易,反过来就比较不容易了。这时只能去猜想了。
如何计算扫描图片的实际尺寸
不知道楼主所说的图片实际尺寸是指什么。我理解大概是打印出来的实际尺寸。
图片的实际打印尺寸是与分辩率相关的:
一般屏幕显示是 72 像素/英寸
打印显示经验上分为 150像素/英寸(喷绘) 300像素/英寸(印刷)
直接用像素除就可以了。
提供给楼主一个算法公式
像素/分辩率=实际打印尺寸
以你的图例:宽度1325pix 如果是打印的话 按300像素/英寸 约4.42英寸 大概11.2厘米左右。
由于你的分辩率过低,所以图中显示,文档实际大小3371.5厘米。
不知楼主是否能明白,不明白的话,可以hi我。
若不压缩,保存一幅1024×768的24位真彩色位图需要的存储空间为( )KB。
2304
电脑音频的大小怎么计算的?
要在计算机内播放或是处理音频文件,也就是要对声音文件进行数、模转换,这个过程同样由采样和量化构成,人耳所能听到的声音,最低的频率是从20Hz起一直到最高频率20KHZ,20KHz以上人耳是听不到的,因此音频的最大带宽是20KHZ,故而采样速率需要介于40~50KHZ之间,而且对每个样本需要更多的量化比特数。音频数字化的标准是每个样本16位(16bit,即96dB)的信噪比,采用线性脉冲编码调制PCM,每一量化步长都具有相等的长度。在音频文件的制作中,正是采用这一标准。
举例说明,电脑音频的计算大小。
位图: 大小=分辨率*色位/8(字节) 音频:
大小=码率*时长/8(字节)注:8位(b)为一个字节(B),1024个字节为1KB,1024KB=1MB,1024MB=1GB。以此类推。
[44.1*60*2*1000*(16/8)*2]/(1024*1024)=20.18737793解释一下,44.1*1000是一秒钟采样数2*60是时间,单位是秒16/8表示每一次采样数是两个B2是双声道
so,[44.1*60*2*1000*(16/8)*2]结果的单位是B。要换算成MB
如何计算java对象的大小
首先,我们先写一段大家可能不怎么写或者认为不可能的代码:一个类中,几个类型都是private类型,没有public方法,如何对这些属性进行读写操作,看似不可能哦,为什么,这违背了面向对象的封装,其实在必要的时候,留一道后门可以使得语言的生产力更加强大,对象的序列化不会因为没有public方法就无法保存成功吧,OK,我们简单写段代码开个头,逐步引入到怎么样去测试对象的大小,一下代码非常简单,相信不用我解释什么:
import java.lang.reflect.Field;
class NodeTest1 {
private int a = 13;
private int b = 21;
}
public class Test001 {
public static void main(String []args) {
NodeTest1 node = new NodeTest1();
Field []fields = NodeTest1.class.getDeclaredFields();
for(Field field : fields) {
field.setAccessible(true);
try {
int i = field.getInt(node);
field.setInt(node, i * 2);
System.out.println(field.getInt(node));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
代码最基本的意思就是:实例化一个NodeTest1这个类的实例,然后取出两个属性,分别乘以2,然后再输出,相信大家会认为这怎么可能,NodeTest1根本没有public方法,代码就在这里,将代码拷贝回去运行下就OK了,OK,现在不说这些了,运行结果为:
26
42
为什么可以取到,是每个属性都留了一道门,主要是为了自己或者外部接入的方便,相信看代码自己仔细的朋友,应该知道门就在:field.setAccessible(true);代表这个域的访问被打开,好比是一道后门打开了,呵呵,上面的方法如果不设置这个,就直接报错。
看似和对象大小没啥关系,不过这只是抛砖引玉,因为我们首先要拿到对象的属性,才能知道对象的大小,对象如果没有提供public方法我们也要知道它有哪些属性,所以我们后面多半会用到这段类似的代码哦!
对象测量大小的方法关键为java提供的(1.5过后才有):java.lang.instrument.Instrumentation,它提供了丰富的对结构的等各方面的**和对象大小的测量的API(本文只阐述对象大小的测量方法),于是乎我心喜了,不过比较恶心的是它是实例化类:sun.instrument.IntrumentationImpl是sun开头的,这个鬼东西有点不好搞,翻开源码构造方法是private类型,没有任何getInstance的方法,写这个类干嘛?看来这个只能被JVM自己给初始化了,那么怎么将它自己初始化的东西取出来用呢,唯一能想到的就是agent代理,那么我们先抛开代理,首先来写一个简单的对象测量方法:
步骤1:(先创建一个用于测试对象大小的处理类)
import java.lang.instrument.Instrumentation;
public class MySizeOf {
private static Instrumentation inst;
/**
*这个方法必须写,在agent调用时会被启用
*/
public static void premain(String agentArgs, Instrumentation instP) {
inst = instP;
}
/**
* 直接计算当前对象占用空间大小,包括:当前类及超类的基本类型实例字段大小
* 引用类型实例字段引用大小、实例基本类型数组总占用空间、实例引用类型数组引用本身占用空间大小
* 但是不包括超类继承下来的和当前类声明的实例引用字段的对象本身的大小、实例引用数组引用的对象本身的大小
* 用来测量java对象的大小(这里先理解这个大小是正确的,后面再深化)
*/
public static long sizeOf(Object o) {
if(inst == null) {
throw new IllegalStateException("Can not access instrumentation environment.\n" +
"Please check if jar file containing SizeOfAgent class is \n" +
"specified in the java's \"-javaagent\" command line argument.");
}
return inst.getObjectSize(o);
}
}
步骤2:上面我们写好了agent的代码,此时我们要将上面这个类编译后打包为一个jar文件,并且在其包内部的META-INF/MANIFEST.MF文件中增加一行:Premain-Class: MySizeOf代表执行代理的全名,这里的类名称是没有package的,如果你有package,那么就写全名,我们这里假设打包完的jar包名称为agent.jar(打**程这里简单阐述,就不细说了),OK,继续向下走:
步骤3:编写测试类,测试类中写:
public class TestSize {
public static void main(String []args) {
System.out.println(MySizeOf.sizeOf(new Integer(1)));
System.out.println(MySizeOf.sizeOf(new String("a")));
System.out.println(MySizeOf.sizeOf(new char[1]));
}
}
一幅分辨率为1280*960的8:8:8的RGB彩**像,其存储容量为多少?求详细解答过程。
1、1280 960分辨率 那就是有1280*960=1228800个像素
2、每个像素占8+8+8bit就是3个字节
3、像素数*像素占空间 1228800*3 /1024 = 3600k
所以容量是3600kb 大约3.5m 即3.5兆
计算机专业:若不经过压缩,一幅分辨率为800×600的真彩色(24位)图像需要多少MB存储空间?
BMP文件通常是不压缩的,所以它们通常比同一幅图像的压缩图像文件格式要大很多。例如,一个800×600的24位几乎占据1.4MB空间。因此它们通常不适合在因特网或者其它低速或者有容量限制的媒介上进行传输。 根据颜色深度的不同,图像上的一个像素可以用一个或者多个字节表示,它由n/8所确定(n是位深度,1字节包含8个数据位)。图片浏览器等基于字节的ASCII值计算像素的颜色,然后从调色板中读出相应的值。更为详细的信息请参阅下面关于位图文件的部分。 n位2n种颜色的位图近似字节数可以用下面的公式计算: BMP文件大小约等于 54+4*2的n次方+(w*h*n)/8
,其中高度和宽度都是像素数。 需要注意的是上面公式中的54是位图文件的文件头,是彩色调色板的大小。另外需要注意的是这是一个近似值,对于n位的位图图像来说,尽管可能有最多2n中颜色,一个特定的图像可能并不会使用这些所有的颜色。由于彩色调色板仅仅定义了图像所用的颜色,所以实际的彩色调色板将小于。 如果想知道这些值是如何得到的,请参考下面文件格式的部分。 由于存储算法本身决定的因素,根据几个图像参数的不同计算出的大小与实际的文件大小将会有一些细小的差别。
BMP格式为1.37MB