matlab
文章平均质量分 51
qq_26267811
这个作者很懒,什么都没留下…
展开
-
gradient()---matlab
gradient()是求数值梯度函数的命令。[Fx,Fy]=gradient(x),其中Fx为其水平方向上的梯度,Fy为其垂直方向上的梯度,Fx的第一列元素为原矩阵第二列与第一列元素之差,Fx的第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推:Fx(i,j)=(F(i,j+1)-F(i,j-1))/2。最后一列则为最后两列之差。同理,可以得到Fy。原创 2015-05-12 10:13:56 · 618 阅读 · 0 评论 -
matlab 与c++混合编码 (matlab .m文件转为c++的dll文件)
以前做过matlab7与c++的混合编程:将m函数编译成dll给C++调用,从而加快开发的进度。但是今天在matlab2008b下面又做了一遍,发现matlab又改了很多东西,诸如增加了面向对象的的扩展mwArray,于是做笔记如下。(一) 总体概念matlab提供了丰富的程序接口,除了matlab最初的版本是用fortran写的之外,后来的版本都是用C写的,因此matlab很容易转载 2015-05-14 11:10:52 · 3654 阅读 · 1 评论 -
matlab 条件删除某元胞元素时不能使用for,而应该使用while进行遍历所有元胞
1.目的: 有时我们需要删除某些满足条件的元胞/单个元素,这时千万不能使用for进行遍历,会提示“索引超出范围”。因为在matlab中,for循环使用的是并行计算,即使for i = 1:size(a,1),这时已经开辟了size(a,1)条并行计算线路了,即使在遍历时a由于a[i]=[]使得size(a,1)减少了,但是仍会遍历原始的size(a,1)个数,当超出现有a的个个数时,原创 2015-06-17 12:28:03 · 1310 阅读 · 0 评论 -
matlab 计算连通域
1.最直接好用的方法rgb = imread('1.jpg');%灰度化gray = rgb2gray(rgb);%二值化 或者 计算边缘thresh = graythresh(gray); %bw = edge(gray, 'sobel');bw = im2bw(gray,thresh);%计算连通域L = bwlabel(bw);%默认8连通; bwlabe(bw,4);原创 2015-06-17 11:04:48 · 14481 阅读 · 1 评论 -
canny边缘提取之四 双阈值边缘检测及连接 matlab函数转C++
1.matlab中情况:(1)双阈值算法检测和连接边缘在edge(I,'canny')--->thinAndThreshold()----->bwselect (2)bwselect函数通过如下两步,实现双阈值检测和连接功能。 BW2 = imfill(~BW, seed_indices, n)原创 2015-05-19 10:40:58 · 7032 阅读 · 0 评论