matlab
这是我做项目时关于matlab的积累
seen_in_hw
希望我能变厉害!!!成为大师!!!我放弃了很多看似很炫的技术而去探寻技术的本质,技术是用来提供服务的,所有的技术都离不开思想,而思想是最难掌握的,我们应该把更多的精力放在对于思想的探寻上
展开
-
【matlab】:matlab做的图片关联性识别算法
直接撸代码%余弦相似度算法求两张图片的相似度picture1 = imread('d:\\手环.jpg');picture2 = imread('d:\\手环2.jpg');picture1 = rgb2gray(picture1);picture2 = rgb2gray(picture2);t1=picture1;[a1,b1]=size(t1);t2=picture2;t2=im原创 2016-04-17 21:58:13 · 4980 阅读 · 1 评论 -
【matlab】:利用matlab实现QQ的一个图片显示变色功能
QQ有一项功能是这样的,点离图片,图片会变颜色。我下面的代码就是实现了这个功能 如图所示,该图片就不是原来的图片的样子了。实现的思路: 1,经过仔细观察,我发现图片仍旧是三色的,但是白色和黑色好像反过来了 2,有过图片处理的兄弟都知道,白色是255,255,255,而黑色是0,0,0 ,所以读入图像矩阵之后把每个像素值都反向就可以了代码如下:I = imread('d:\\泳圈测试2.jpg原创 2016-04-16 18:57:49 · 4534 阅读 · 0 评论 -
【matlab】:matlab写的一个QQ九宫格图的程序
我们都知道,在QQ空间或者朋友圈发照片的时候,把一张图切分成9个图,这样显示起来会比较高端。我下面的代码就是实现了这个功能。 先要说明一点,QQ空间或者微信朋友圈想要九宫格图是原图必须要是正方形的图,即图像长宽相同。因为腾讯公司有个缩略图机制,如果不是正方形的图不能进行完全的呈现我的代码思路: 1,找到图像矩阵长和宽,然后找到长宽之中较小的一个,然后按九宫格的坐标规则进行切分,如果是有过切图原创 2016-04-14 22:17:48 · 5518 阅读 · 0 评论 -
【matlab】:matlab关于原图修改及画图的相关问题
这是一个比较难搞定的问题,详细请看下图: 这儿有七个点,我想把这七个点排序,然后连线,实现下面的效果: 这怎么实现的呢?先写步骤然后上代码: 1,先识别多个点的质心 2,通过质心进行连线和画点操作//题外话,关于连线和画点操作是如何做到的呢,这是通过对原图的数据进行修改做到的 直接给出代码,还有图片保存在代码里的路径下用matlab运行就能使I=imread('d:\\自行车测试1.j原创 2016-04-05 14:50:59 · 3321 阅读 · 0 评论 -
【matlab应用】:生成老电影海报
直接给图,给代码 代码:I = imread('d:\\电影海报2.jpg');imshow(I);B = rgb2gray(I);imshow(B);thresh = graythresh(I);I2 = im2bw(I,thresh);imshow(I2);原创 2016-03-24 18:53:38 · 1048 阅读 · 0 评论 -
【matlab】:matlab中不断的出现计算过程怎么办
这个问题是会经常性出的,就是matlab中不断的出现计算。 关于这个问题,我们需要考虑的是自己是不是写错了,一般会出现下面两种可能的错误1,关于计算的函数没有写分号 ;这种是致命问题,如果函数不写分号,肯定是会出现错误的2,关于赋值的函数错误 比如说我的一行赋值语句如下: I((plot_x(i)-20):(plot_x(i)+20),(plot_y(i)-20):(plot_y(i)+20原创 2016-04-01 20:46:30 · 2503 阅读 · 0 评论 -
【matlab】:matlab中如何取整?
matlab中取整一直是个老大难的问题,这个问题也曾经困扰着我。 经过笔者一次成功的尝试后,我终于学会了matlab中取整的方法,下面就介绍给大家大概是有如下几种方法: round—–>四舍五入 floor——>向下取整 ceil——->向上取整 fix——–>往靠近0的取整下面是几个实例及结果:a = floor(3.54); % 结果3b = ceil(3.54); %结原创 2016-04-01 18:59:37 · 7580 阅读 · 0 评论 -
【matlab】:matlab实现求图像中的多个质心
如图: 可以把图中三个黑圈的质心找出来代码大致如下:I=imread('d:\\测试2.bmp');%读取原图像figure(1);imshow(I);%显示原图像I_gray=rgb2gray(I);%原图像变为灰度图像level=graythresh(I_gray);%计算图像I_gray的全局阈值,level为标准化灰度值,其范围为[0 1][height,width]=size(I_原创 2016-04-01 14:00:34 · 16152 阅读 · 4 评论 -
【matlab】:matlab中如何把视频切分成帧
我们想要做matlab图像的相关处理,就必须明白视频是由一帧一帧的图片组成的这个道理,做视频处理的第一步就是把视频切分成一帧帧的图片,把每帧图片都处理完了,然后就能连接成一整套视频,即可下面代码做到了这些演示效果:mov = mmreader('d:\\视频\\viplane.avi') %我的视频文件放在这个目录下for i = 1:mov.numberofframes b = read原创 2016-04-01 13:16:12 · 6478 阅读 · 0 评论 -
【matlab】:matlab视频处理
最近要做一个matlab视频处理的小项目,大致分为如下几块函数和功能,需要我一一去攻破,写下来做个记录1,读入AVI视频,变成一帧帧的图片 2,循环模式下的图片处理 3,把图片连成视频原创 2016-04-01 12:58:58 · 1978 阅读 · 0 评论 -
【matlab】:matlab如何实现切分图片并保存?
这个问题的答案是非常简单的,只需要用到几个非常简单的函数,其中函数如下几个: imread 读入函数 imwrite 写入函数,把图形变量保存为图片先说我要弄的图片如下: 我想把其中的第一行第二个黑色的圆形粗略的给折腾出来,这需要怎么做,这就是我需要解决的问题。第一步:*读入图片* I = imread(‘d:\测试.jpg’); 注意,图片我起的名字是测试.jpg,并且是原创 2016-03-18 16:48:13 · 13099 阅读 · 1 评论 -
【matlab】:matlab中 RGB到YUV的转变
写这篇文章之前,首先我们得确定什么是RGB,什么是YUV RGB代表着 红色,绿色,蓝色三种颜色其中分别是这么分别出来的,值都是在0-255之前,其中越接近于0颜色越显得黑,越紧接近于255,越显得颜色上的白。从0-255的各个区段,显示出了各种不同的颜色。想要查看具体颜色的分类,需要自己去查表然后是YUV 其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表原创 2016-03-19 13:32:21 · 5382 阅读 · 0 评论 -
【matlab】:matlab如何写函数并且调用函数?
写博客就是为了干货 ——老司机如是说matlab如何写函数? 1,点击new M-file按钮,进入函数编辑界面 2,编辑函数 编辑函数规则如下: function y=fun(a) ... 一些规则,随便怎么写 y = ... //这点必须要有,让y把值原创 2016-03-19 14:06:10 · 95880 阅读 · 2 评论 -
【matlab】:matlab实现二值化
直接给出原图片,处理完的图片,给出代码: 处理完的图片: 代码: I = imread('d:\\图片.jpg');>> imshow(I);>> B = rgb2gray(I);>> imshow(B);>> thresh = graythresh(I);>> I2 = im2bw(I,thresh);>> imshow(I2);原创 2016-03-19 15:55:53 · 10155 阅读 · 0 评论 -
【matlab】:图像获得其边缘
matlab中如何获得图像的边缘呢? 用下面的一段代码就可以了,方法大概是分为如下几个步骤 1,读入图片 2,转为灰度图 3,通过自动获得阈值,转为二值图 4,将二值图通过roberts算子,prewitt算子,sobel算子获得其边缘**代码: I = imread('d:\\图片.jpg'); //这个地方自己写代码的时候还需要修改,把路径换成自己图片的存放路径imshow(原创 2016-03-20 21:04:39 · 1021 阅读 · 0 评论 -
【matlab】:matlab求图像质心算法
这篇文章的起因是因为我在做一个项目,其中的要求就是求图像的质心,这个算法初步实现了一个功能: 给出一张图片如下: 然后把这个图片保存到d:\测试.jpg目录,最后运行我的函数即可写的思路: 对于图片,质心肯定会数值不一样,这时候可以通过这种想法,然后设定阈值,对于图片数据进行二重循环,最终找到质心那块范围的坐标,最后就能够求出质心下面附上源代码:(一个名为centroid的matlab函数)f原创 2016-03-22 16:26:09 · 17223 阅读 · 2 评论 -
【matlab】:如何用matlab写一个批量读入图并且显示的功能
首先,大家都是看到了标题才进来看这篇文章的,当时我自己用matlab的时候并不会写这个功能,后来过了一段时间再想这个事,后来发现简单的抠脚。下面大致讲一讲这个功能该如何写: 1,首先说说matlab读入图和显示图的函数,读入图的函数是imread,后面接路径,显示图的函数是imshow2,如何实现这个功能: <1>在计算机的一个目录下,保存诸多图片,为了使其方便读取,保存为1.jpg 2原创 2016-03-22 16:38:30 · 1008 阅读 · 0 评论 -
【matlab】:matlab的输入和输出
matlab中很多人会有一个问题,就是输出的问题,这个问题很重要,因为对于有些循环或者是相关的情况下,我们进行相关的调试就是通过输出语句进行的。而输出语句就是一个非常简单的,disp(‘yes, of course’) 这样的话就能输出yes, of course如果想要输出变量就输出变量名即可 disp(变量名)关于输入: 输入没啥好说的,就是input比如说:input(‘please in原创 2016-03-22 17:07:41 · 11157 阅读 · 0 评论 -
【matlab】:matlab画图
上图: 然后这是一个数学式子画出来的图像,就不写了,这里你看我写的代码能够推算出来这个数学式子是什么 x = -8:0.5:8; y =x; [X,Y] = meshgrid(x,y); R = sqrt(X.^2+Y.^2)+ eps; Z = 2*sin(R)./R; surf(X,Y,Z);原创 2016-03-22 18:09:15 · 1663 阅读 · 0 评论 -
【matlab】:matlab画饼图和三维饼图
matlab画饼图和三维饼图用的函数是pie 和 pie3写到这里,有志之士就可以去看官方文档了,就不用来看我写的文章了pie的使用: 1,画饼图x = [1 3 5 7 9];pie(x);效果: x为各种需要描述的数据2,如何强调某一个数据 x = [1 3 5 7 9]; explode = [0 1 0 1 0];% 把第二个数据和第四个数据进行了强调 pie(x原创 2016-03-24 14:28:56 · 22247 阅读 · 0 评论 -
【matlab】:matlab的linspace函数解析
大家点进来看这篇文章,很直白的目的就是想知道linspace这个函数该如何使用,我这里就简单的给大家讲下linspace函数如何使用linspace函数是用来生成一组从a1到a2的等距的数据用法为 x= linspace(a1,a2); %x就存储了从a1,a2距离为1的等距数据另一个用法 x = linspace(a1,a2,N); 存储了从a1到a2等距的N个数据距离d的计算公式为: d =原创 2016-03-24 15:33:23 · 4268 阅读 · 0 评论 -
【matlab】:matlab中如何三维画球?
首先介绍一个函数ellipsoid,这个函数是在三维立体空间画椭圆用的这个函数参数如下:ellipsoid(x,y,z,x1,y1,z1) x,y,z代表了椭球的中心,x1,y1,z1代表了x,y,z方向的分量然后如果是要画球的话,把这三个分量全部都写成一致的数据such as半径就成了下面举个例子,画出球心为8 9 10,半径为2的球[x,y,z] = ellipsoid(8,9,10,2,2原创 2016-03-24 16:20:49 · 29061 阅读 · 0 评论 -
【matlab】:matlab如何让一张图里面能画多个控件?
就如我的上篇博文介绍的那样,我已经实现了在matlab里面画了球,现在我的任务是如何让一个图里面显示我画的三个球,这里面其实就是牵涉到了一条语句,hold onhold on语句能够让画出来的控件一直显示下面给出源码及效果:[x,y,z] = ellipsoid(8,9,10,2,2,2);surf(x,y,z) %画出来球hold on; %保证下一个球出来时这个球依然在[原创 2016-03-24 16:29:44 · 1562 阅读 · 0 评论