作业帮 > 综合 > 作业

我想用Matlab处理数字图像,当把一个jpg文件导入matlab后,出现M*N*3的矩阵,我用M*N*3/1024/2

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/24 16:34:33
我想用Matlab处理数字图像,当把一个jpg文件导入matlab后,出现M*N*3的矩阵,我用M*N*3/1024/2014/8计算储存大小,可是与实际大小相差很大,有谁给解释下,
我用M*N*3/1024/2014/8计算储存大小,可是与实际大小相差很大,有谁给解释下,
我想用Matlab处理数字图像,当把一个jpg文件导入matlab后,出现M*N*3的矩阵,我用M*N*3/1024/2
1、3指的是每个像素由RGB三个数值组合而成(一般是8位,0~255),众所周知,三原色表示一个像素吗.你可以读入一副红色的图片,看看第一个分量是不是很大.
2、应该是M*N*3,M*N是图片的行列相乘,3表示三个RGB分量,他们都是一个字节的,也就是说M*N*3结果就是字节了,再除以1024是kb,再除以1024是mb,你最后不要再除以8了.你可以通过whos,who等命令看看图像数据的单位(是不是uint8类型).jpg图像进过离散余弦变换,再对变换后的图像频谱图进行编码,压缩(保留低频成分数据,简化高频成分数据,以至于人们感觉不到图像有什么损失),所以一般jpg图像的文件比较小,读出来变大了(数据进行解压了,它里面不是对应的图像像素原来的数据).你读一个bmp看看,24位的bmp的文件和你读到后计算的数据应该只差54byte.