随笔分类 -  matlab

matlab增加数组元素的效率分析
摘要:给matlab增添数组元素是经常用到的功能,但是,有时候效率特别低。可进行如下测试:s = 50000;ticA = [];for i = 1:s A = [A,i];endtocElapsed time is 3.675602 seconds.会发现,随着i的增大,显示越来越慢。可以发现,越到后面越慢。这是因为matlab需要对每个元素进行移动。。。而如果采用下标赋值的形式:s = 50000;ticA = [];for i = 1:s A(i) = i;endtocElapsed time is 0.023905 seconds.则有明显的改进。而如果采用先声明空间,后改变值的方式:s.. 阅读全文

posted @ 2012-12-31 18:55 mapleWizard 阅读(410) 评论(0) 推荐(0)

利用矩阵奇异值分解对图像进行压缩
摘要:最近学习线性代数的有关东西,在看到奇异值分解(svd)时,发现了一个在图像压缩上的应用。奇异值分解:在线性代数中,我们知道对任意一个矩阵都存在奇异值分解,,其中U和V是标准正交矩阵,而是一个对角矩阵,每一个对角元是该矩阵的奇异值,奇异值指的是矩阵的特征值开根号。其具体分解形式如下:其中将A展开得将A看成一个图像的矩阵,上面和式的每一个分量按大小排序,越大,说明越重要。而后面的权很小,可以舍去,如果只取前面k项,则数据量为(m+n+1)k<<m*n因而达到了压缩图像的目的。通过对比发现,当k=1/20r时,能基本看清图像。当k=1/4r时基本看不出任何区别,对于长宽相等的图像,此时数 阅读全文

posted @ 2012-12-08 21:03 mapleWizard 阅读(886) 评论(0) 推荐(0)

图像边沿平滑处理的matlab实现
摘要:完成图像处理的算法:1、读入文件通过matlab读取图像文件。2、获取蒙版对图像进行逐点扫描,当点的三个通道值至少有一个小于阈值时让这个点变为纯黑色。如图,可见此时的蒙版中心有空缺,且边缘有噪声而且有粘连小块。为了消除这些噪声和小块,我们对图像的蒙版进行腐蚀和扩张操作。3、对蒙版进行腐蚀应用matlab的腐蚀函数,选择腐蚀的结构元素为11*11的全1矩阵,对图像进行腐蚀操作,腐蚀后,图像缩小,边缘变得平滑。腐蚀后效果如图:4、对图像进行扩张操作将图像复原到原始蒙版,该扩张或丢失边缘信息,正好删除掉噪声和多余的小块。进行扩张所用的结构元素和腐蚀所用的结构元素相同。可以明显看到边缘得到改善。扩张后 阅读全文

posted @ 2012-11-07 23:36 mapleWizard 阅读(6960) 评论(0) 推荐(0)

导航