Matlab处理数字图像
我想用Matlab处理数字图像,当把一个jpg文件导入matlab后,出现M*N*3的矩阵,后面的3什么意思?我用M*N*3/1024/2014/8计算储存大小,可是与实...
我想用Matlab处理数字图像,当把一个jpg文件导入matlab后,出现M*N*3的矩阵,后面的3什么意思?我用M*N*3/1024/2014/8计算储存大小,可是与实际大小相差很大,有谁给解释下,多谢谢!
我用M*N*3/1024/2014/8计算储存大小,可是与实际大小相差很大,有谁给解释下,多谢谢! 展开
我用M*N*3/1024/2014/8计算储存大小,可是与实际大小相差很大,有谁给解释下,多谢谢! 展开
6个回答
展开全部
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。
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。
展开全部
jpg是有格式的,也就是有头文件的,所以图像文件大小要比纯数据M*N*3要大
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
3是指RGB三种颜色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以先把原图像a滤波
保存到一个数组中
b
再把原图像a锐化保存到c数组中
b+c构成处理后的图像
用imwrite把这个写到你新的bmp中
或者是在photoshop中直接滤波
然后在图像上锐化即可
保存到一个数组中
b
再把原图像a锐化保存到c数组中
b+c构成处理后的图像
用imwrite把这个写到你新的bmp中
或者是在photoshop中直接滤波
然后在图像上锐化即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个1024*2014*8是什么啊?储存大小是不是跟你图片的RGB值有关系,如果他们的最大值与最小值很大的话应该就比较大,图像比较亮,反之则会比较小,图像较暗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询