有没有人知道,怎么用MATLAB把读入的图片转化成信号空间的一维信号?

xiaol413 2013-11-07 01:36:14
最近在做毕业设计,是关于图像编码和压缩的,书上说:“图像可以看成是信号空间中的一维信号”,书上给出了用一维信号来实现编码的示例程序,我用MATLAB的 imread()函数读入的图片不符合一维信号的要求,有没有什么方法可以把图片编程一维信号啊?

另外,书上的例子是用的 bat.dat 文件,我想问问,把图片转换成bat类型后是不是可以直接用书上的例子程序,如果可以,该怎么转换呢?

各位大神,说说思路,说说方法吧 小弟不胜感激
...全文
865 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
youth0826 2013-11-09
  • 打赏
  • 举报
回复

I = imread('im.jpg');
S = reshape(I, 1, []);
S就是一维信号,这样就行了。。
sunny7862632 2013-11-08
  • 打赏
  • 举报
回复
引用 3 楼 xiaol413 的回复:
[quote=引用 1 楼 sunny7862632 的回复:] 图像计算机里面一般使用二维数组存储,相当于2维,你逐行读取,首尾想接不就是1维了嘛。
我这样子试过,但是运行的时候明显有问题。你要不要我把程序和实验用的图片发给你,你看看? [/quote] MATLAB我不熟,一般做图像处理的用C++的较多,建议试下opencv,MATLAB学校用到多。
libralibra 2013-11-07
  • 打赏
  • 举报
回复
matlab中灰度图片读了是二维(彩色的是三维),记做a,然后用a(:)可以得到一维向量. 如果是彩色图,记得r,g,b分开弄就行
xiaol413 2013-11-07
  • 打赏
  • 举报
回复
引用 1 楼 sunny7862632 的回复:
图像计算机里面一般使用二维数组存储,相当于2维,你逐行读取,首尾想接不就是1维了嘛。
我这样子试过,但是运行的时候明显有问题。你要不要我把程序和实验用的图片发给你,你看看?
xiaol413 2013-11-07
  • 打赏
  • 举报
回复
我这样子试过,但是运行的时候明显有问题。你要不要我把程序和实验用的图片发给你,你看看?
sunny7862632 2013-11-07
  • 打赏
  • 举报
回复
图像计算机里面一般使用二维数组存储,相当于2维,你逐行读取,首尾想接不就是1维了嘛。

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧