随笔分类 -  Matlab练习程序

上一页 1 ··· 9 10 11 12 13 14 15 下一页
摘要:注:新方法移步这里 之所以要加1是因为这个还没有做完,这个只是按照自己的想法实现的,结果。。。果然是不行啊。 photoshop中的径向模糊算法我也不清楚,不过下面的对话框大致可以让人猜到一些: 看那个小方框就可以了,我感觉是photoshop只在黑色像素对应的地方进行模糊,其他的地方则不处理。我暂 阅读全文
posted @ 2012-11-26 22:22 Dsp Tian 阅读(2081) 评论(0) 推荐(0) 编辑
摘要:在读入摄像头数据的时候,按下ctrl+x键,可以截取图像,就是这样一个功能。功能不多,但很有用。main.mclear all;close all;clc;global m; obj=videoinput('winvideo',1,'YUY2_320x240'); h1=preview(obj); %预览视频,同时获取句柄 h2=figure('KeyPressFcn',@keyPressFigure); %新建显示图像figure,同时获取句柄while ishandle(h1) && ishandl... 阅读全文
posted @ 2012-11-26 13:41 Dsp Tian 阅读(3832) 评论(0) 推荐(1) 编辑
摘要:网上好多文章都好坑爹,配置麻烦死了,一点也不简洁,我这里给一个最简洁并且很好用的版本。clear all;close all;clc;obj=videoinput('winvideo',1,'YUY2_320x240'); %一般的家用摄像头第三个参数这样就可以,不能运行直接去掉第三个参数也可以h1=preview(obj); %预览视频,同时获取句柄 h2=figure(2); %新建显示图像figure,同时获取句柄while ishandle(h1) && ishandle(h2) ... 阅读全文
posted @ 2012-11-22 15:02 Dsp Tian 阅读(5733) 评论(0) 推荐(0) 编辑
摘要:做meanshift物体跟踪的时候中间有一步叫做直方图反向投影,所以我就先实现了这样一个步骤。 直方图反向投影说白了就是模板匹配,给定一个较小的目标模板,然后再逐个遍历原图像和模板图像相同的图像块的,对比图像块和模板的直方图,然后把比较结果存入一个新的图像中,新图像中的全局极值就是模板在原图像中所在 阅读全文
posted @ 2012-11-22 13:21 Dsp Tian 阅读(6556) 评论(1) 推荐(0) 编辑
摘要:听名字好像很牛B的样子,其实就是一个函数imcrop()的使用而已。 程序如下:close all;clear all;clc;img=imread('lena.jpg');imshow(img);imgn=imcrop(); %这里把要裁剪的图像框出来figure;imshow(imgn) %显示裁剪的图像 阅读全文
posted @ 2012-11-21 14:26 Dsp Tian 阅读(3496) 评论(0) 推荐(0) 编辑
摘要:关于这个meanshift,一来可以用来作为目标跟踪,二来可以用来进行图像聚类。我这里只实现了图像聚类,当然,是按自己的理解编写的程序。至于目标跟踪将来一定也是要实现的,因为我最初看这个算法的原因就是想用他来跟踪目标的。 meanshift的基本原理我就不介绍了,比起我的介绍,网上有不少牛人们比我解 阅读全文
posted @ 2012-11-20 19:23 Dsp Tian 阅读(33643) 评论(6) 推荐(1) 编辑
摘要:PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下: 这里的MAX通常是图像的灰度级,一般就 阅读全文
posted @ 2012-11-14 19:46 Dsp Tian 阅读(67340) 评论(2) 推荐(3) 编辑
摘要:其实就生成加密文件这种事情是有违自己的人生哲学的,不过作为一个技巧倒也无所谓了,反正我自己是不会对代码加密什么的(半年前做kinect项目的时候,我就很不情愿的把代码加密了)。 代码就下面一句话: pcode yourfile.m 生成的 yourfile.p就是你的加密文件,别人是看不到代码的,调用和m文件调用一样。 阅读全文
posted @ 2012-11-13 19:35 Dsp Tian 阅读(6029) 评论(0) 推荐(1) 编辑
摘要:这个算法是Lee和Seung在1999年发表在nature杂志上的。具体论文看这里:http://www.seas.upenn.edu/~ddlee/Papers/nmf.pdf。 看不懂英文没关系,可以看这个中文的介绍:http://wenku.baidu.com/view/94c8af0bf78 阅读全文
posted @ 2012-11-13 18:46 Dsp Tian 阅读(18036) 评论(3) 推荐(0) 编辑
摘要:其实在matlab中调用系统函数fspecial和imfilter这两个函数就能很简单的实现动感模糊,不过我可不想就这样简单的实现,所以就自己从头写了。动感模糊最复杂的就是构造卷积矩阵了,卷积矩阵由两个参数决定,模糊半径r和模糊角度theta,通过这两个参数,就能构造不同的模板矩阵,而图像卷积时则和 阅读全文
posted @ 2012-11-13 13:43 Dsp Tian 阅读(2111) 评论(0) 推荐(0) 编辑
摘要:这里所谓的方框模糊呢,其实就是以前自己很熟悉的均值滤波。原理就是将当前像素为中心,以半径r四周的(2*r+1)^2个像素求平均再赋值给当前像素就可以啦。这个实在是没什么可解释的了,都是很简单的东西。下面是代码: clear all; close all; clc; r=5; img=imread(' 阅读全文
posted @ 2012-11-08 22:08 Dsp Tian 阅读(1803) 评论(0) 推荐(0) 编辑
摘要:关于表面模糊的文章我是搜遍互联网只找到下面这两篇: 1.http://bbs.redocn.com/viewthread.php?tid=274838&extra=&page=1 2.http://blog.csdn.net/maozefa/article/details/7710321 第一篇原理 阅读全文
posted @ 2012-11-06 10:13 Dsp Tian 阅读(3789) 评论(0) 推荐(0) 编辑
摘要:我真是弱爆了,我原来以为边界处理用我上一篇的方法就能很好的处理了,结果效果并不好。我只是和标准的imfilter函数进行了比较,其实imfilter函数还有一些参数我没用上,比如‘replicate’,'symmetric'等,如果加上这些参数,我的效果就比不上matlab的效果了,所以这次不用上一 阅读全文
posted @ 2012-11-06 09:30 Dsp Tian 阅读(9796) 评论(0) 推荐(1) 编辑
摘要:我们在写滤波程序时一般会用矩阵模板与原图像做卷积,这时候在做图像边界的处理是一般都选择忽略边缘,不过要是模板比较大,那么处理的效果就不好了,图像四周就会是原图像,中间才是滤波后的结果,虽然用Matlab的imfilter就能解决,不过还是自己通过滤波的原理实践一下比较好。 模板和图像一共有如下16种 阅读全文
posted @ 2012-11-02 10:47 Dsp Tian 阅读(12435) 评论(0) 推荐(1) 编辑
摘要:这里所谓的张量和黎曼那里的张量是不一样的,那个张量更多的用在物理上,这个张量就是矩阵的扩展。比如零阶张量就是数,一阶张量就是向量,二阶张量就是矩阵,三阶四阶就是更高维的数的集合。这个领域现在在数学上还都是很新的东西,矩阵的秩我们都知道怎么求,但是三维的张量或更高维的张量的秩现在在数学上也没有结果。至于张量的奇异值分解也只是也只是用很早的如用HOSVD来处理,我感觉这并不完全合适,新的分解算法就连老美也都没研究出来,从二维到多维的确有很多基础的理论都不适用了,像两个张量相乘这样基础的算法,现在虽然有,但我感觉也不是通用的,还要继续改进。 下面就是我看的一篇论文的张量相乘和分解方法,她的理论... 阅读全文
posted @ 2012-10-31 14:23 Dsp Tian 阅读(9122) 评论(4) 推荐(1) 编辑
摘要:介绍一下奇异值分解来压缩图像。今年的上半年中的一篇博客贴了一篇用奇异值分解处理pca问题的程序,当时用的是图像序列,是把图像序列中的不同部分分离开来。这里是用的不是图像序列了,只是单单的一幅图像,所以直接就对图像矩阵进行svd了。 吴军的《数学之美》里其实已经介绍过用svd进行大数据的压缩了,不过我 阅读全文
posted @ 2012-10-24 20:59 Dsp Tian 阅读(24517) 评论(4) 推荐(5) 编辑
摘要:mov=aviread('out.avi'); %读入存在e盘的电影x.avi%movie(mov); %放映电影%将电影转成图片序列fnum=size(mov,2); %读取电影的祯数for i=1:fnum strtemp=strcat('C:\Users\tc\Desktop\test\',int2str(i),'.bmp');%将每祯转成jpg的图片 imwrite(mov(i).cdata,strtemp,'bmp');end 阅读全文
posted @ 2012-10-11 16:29 Dsp Tian 阅读(3427) 评论(0) 推荐(0) 编辑
摘要:for i=1:40 fname=strcat('C:\Users\tc\Desktop\test\1 (',int2str(i),').bmp'); im(:,:,i)=imread(fname); imshow(im(:,:,i)) M(i) = getframe; end movie2avi(M,'out.avi','FPS',8)%输出视频注:一下是2012.12.28增加:上面的程序虽然也能够输出视频,不过效果不好,用到的getframe是截屏用的,而且帧数自己设置的也不可能达到最理想状态,所以就有了以下的一段程序,功能 阅读全文
posted @ 2012-10-11 16:15 Dsp Tian 阅读(8742) 评论(1) 推荐(0) 编辑
摘要:HSoptflow.mfunction [us,vs] = HSoptflow(Xrgb,n)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Author: Gregory Power gregory.power@wpafb.af.mil% This MATLAB code shows a Motion Estimation map created by% using a Horn and Schunck motion estimation technique on two% consecutive frames. 阅读全文
posted @ 2012-07-16 17:02 Dsp Tian 阅读(15279) 评论(1) 推荐(1) 编辑
摘要:clear all;close all;clc;img=imread('lena.jpg');img=im2bw(img,graythresh(img));imshow(img)[height width]=size(img);img_re=zeros(height,width);temp=[];for i=2:height-1 %腐蚀 for j=2:width-1 temp=img(i-1:i+1,j-1:j+1); img_re(i,j)=min(temp(:)); endendfor i=2:height... 阅读全文
posted @ 2012-07-04 22:07 Dsp Tian 阅读(4040) 评论(0) 推荐(1) 编辑

上一页 1 ··· 9 10 11 12 13 14 15 下一页