Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-05-24
年龄: 35
帖子: 1
声望力: 0 ![]() |
![]()
正在学jpeg隐写,目前用的算法是Jsteg,就是把图像进行FDCT和量化之后修改LSB,之后反量化和IDCT,之后存盘。但是发现了一个挺莫名其妙的问题,如果读那个新生成的图像,再对它进行信息提取,提取出来的信息就会面目全非,但是如果不读新生成的图像,而是直接在内存里面进行提取,就一切正常。
如果这样: imwrite(srcimg,'dst.jpg','jpg); dstimg=imread('dst.jpg'); …… 结果就不正确,但是 %dstimg=imread('dst.jpg'); dstimg=srcimg; …… 结果就是正确的……不知道Matlab7.0(R14)的imread()和imwrite()函数是不是有什么特别的要求? 用完全相同的源代码,在Octave 3.0.3 上运行,什么问题都没有,不管是读硬盘还是读内存,结果都是正确的。是不是Matlab 7.0(R14)的一个bug呀?我用的Matlab是网络上流传的盗版的,在Linux (Fedora 10)上和Windows Xp上都试过了,都会出现这个问题…… |
![]() |
![]() |