matlab 区域计算问题,求一段 matlab 程序 80C

现有由0和1组成的数组,求一个程序,能自动计算数组中由1组成区域的个数(区域可能可能规则,也可能不规则),每个区域中1的数量以及区域中心位置。比如说以下数组:

 J=zeros(100);
J(50:59,30:39)=1;
J(50:59,70:79)=1;
J(50:59,50:59)=1;
J(70:79,40:49)=1;

1个回答

 J = zeros(100);
J(50:59,30:39)=1;
J(50:59,70:79)=1;
J(50:59,50:59)=1;
J(70:79,40:49)=1;

[rows, columns] = size(J);
count = 0;

% 找到一个值为1的点的坐标
[y, x] = find(J==1, 1);
while ~isempty(y)
    count = count + 1;
    flag = 1;
    ns = 1;
    sy(1) = y;
    sx(1) = x;
    while flag
        nns = 0;
        nsy = [];
        nsx = [];
       % 向周围扩散
       for i = 1:ns
           J(sy(i), sx(i)) = 0;
           % top
           if sy(i) > 1 && J(sy(i)-1, sx(i))==1
               nns = nns + 1;
               nsy(nns) = sy(i) - 1;
               nsx(nns) = sx(i);
           end
          % down
           if sy(i) < rows && J(sy(i)+1, sx(i))==1
               nns = nns + 1;
               nsy(nns) = sy(i) + 1;
               nsx(nns) = sx(i);
           end
          % left
           if sx(i) > 1 && J(sy(i), sx(i)-1)==1
               nns = nns + 1;
               nsy(nns) = sy(i);
               nsx(nns) = sx(i) - 1;
           end
          % right
           if sx(i) < columns && J(sy(i), sx(i)+1)==1
               nns = nns + 1;
               nsy(nns) = sy(i);
               nsx(nns) = sx(i) + 1;
           end
       end

       ns = nns;
       sy = nsy;
       sx = nsx;

       if ns == 0
           flag = 0;
       end

    end

    [y, x] = find(J==1, 1);
end

disp(count);
weixin_42873609
小han工 求不出来各个区域中1的个数,和区域中心位置
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Matlab 区域标记与面积计算
区域标记与面积计算。此算法可以对简单的二值图像进行区域标记和面积测量。
计算PSNR的程序,matlab的!
计算PSNR的程序,matlab的! 主要用于两个图像一致性的比较,如果为正无穷,则为最好,越小则差别越大!
matlab课件matlab绘图Matlab计算与仿真技术
较好matlab绘图Matlab计算与仿真技术 第十一讲: Matlab绘图-IV王国利
matlab计算
对matlab中的计算做出了总结,和关键点的区分,理解便于学习者。针对常用的函数计算问题有例子说明
MATLAB计算
本书内容分为线性规划、非线性规划和现代最优化算法三部分。线性规划主要介绍线性规划基本理论、单纯形法、对偶理论和应用实例;非线性规划主要介绍非线性规划的基本概念与基本原理、无约束问题最优化方法和约束问题的最优化方法;现代最优化算法主要介绍计算复杂性与启发式算法、模拟退火算法、遗传算法和人工神经网络. 本书可作为工科硕士研究生和工程硕士研究生的教材,亦可供有关工程技术人员参考
matlab求信息熵程序
用matlab写的一个求决策属性信息熵的小程序
matlab 程序 求sin
求函数sin(x)的微分和积分非常的好 用 最厉害了呵呵 求积分
matlab衍射问题 3_衍射的MATLAB计算
3_衍射的MATLAB计算 广域 衍射图片的处理吧,,这个很罗嗦
盒维计算的matlab 程序
盒维计算的matlab 程序,很清晰,附有示例图片,有助于理解盒维
matlab 计算multiple entropy 的程序
利用matlab和C混合编程计算multiple entropy这一在生物医学信号处理中得到广泛应用的非线性参数。matlab版本可能会对C函数调用产生影响,请利用本地matlab编译*.cpp,之后调用msen,即可以计算multiple entropy
《精通MATLAB最优化计算》程序
《精通MATLAB最优化计算》的配套程序
matlab 车牌区域提取
matlab 车牌区域提取 在2008上编的 自己注意一下程序中的图片路径就能用
matlab区域增长
区域增长函数~~调用即可 包括4邻域和8邻域~~希望有帮助
MATLAB绘制区域图形
function shili08 h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','实例08'); x=91:95; profits1=[88 75 84 93 77]; profits2=[51 64 54 56 68]; profits3=[42 54 34 25
matlab的区域生成代码
matlab的区域生长代码,亲测好用,单独.m文件包装,方便调用修改。
MATLAB提取区域特征
基本统计特征D=regionprops(L,properties); //properties包含area,centroid等注,MATLAB脚本命名一定不要和自带函数库名称相同I=imread('1.jpg'); I=rgb2gray(I); % 转换成二值图像[L,num]=bwlabel(I2,8); % 标注连通区 num %连通区个数 D=regionprops(L,'centroid',
**MATLAB** MATLAB的程序控制结构
MATLAB的程序控制结构>M文件 分类 命令文件=脚本文件,没有输入和返回,命令文件可以对工作空间的变量进行操作,文件内部的变量为局部变量,执行后自动清除。 函数文件,可以有输入和返回。 命令文件可以直接运行,函数文件必须以调用的形式运行。 建立和打开 可视化新建 edit命令新建 >程序控制结构 使用顺序结构的输入和输出 input(promt,’s’)s参数决定是否为字符串 disp(‘
MATLAB截取区域FUNCTION
用于三维数据截【x,y,t】取所需要的区域
MATLAB 矩阵元素的区域访问
本代码主要利用MATLAB工具实现MATLAB 矩阵元素的区域访问,简单明了,易于理解
GBVS算法—求图像显著区域matlab
基于图形的视觉显著性( Graph-Based Visual Saliency, GBVS)检测算法利用标准技术从一幅图像中提取出一系列的特性,如强 度、方向、颜色和对比度等以形成低阶特征图,定义在不同特征图谱下的马尔科夫链,然后将图像上均衡分布 ,通过GBVS显著性检测算法对图像进行显著区域提取,得到显著图。
matlab区域质心生长图像分割程序
利用matlab编写的区域生长法图像分割程序。
Matlab中的一段编程?
matlab中假如知道了数组数据的起始、最后元素的位置和值,如何把这两个元素之间的所有元素表示在新的数组矩阵中?nnnn
【matlab 圆周率计算】matlab 求圆周率的两种算法实现比较
%author:laidefa %data:2014-09-19 %丘德诺夫斯基公式求圆周率 function mpi=qdnfsj(m) i=m; s=13591409; for n=1:i A=(factorial(6*n)(13591409+54514013*n))/(factorial(3*n)*factorial(n)^3(-640320)^(3*n));
matlab求主元素问题
设T[0:n-1]是n个元素的数组,如果其中某个元素x在整个数组中的出现次数超过n/2,则称x为数组T的主元素。输入数据由文件名为input.txt的文本文件提供。 请设计一个线性时间算法,判断input中的数据是否存在主元素。在实验报告中对算法时间复杂度作出分析。 输入:文件的第1行为数组S中元素个数n;接下来的n 行中,每行有一个自然数。程序运行结束时,将计算结果输出到文件output.txt中。输出文件中包含问题的答案:找不到主元素时给出null,找到时给出主元素的值。
matlab 问题 求代码?
利用离散小波正交变换求出含噪图像的稀疏表示.
求MATLAB编译问题
小弟在用MATLAB生成DLL时候 出错rnrnmcc -W cpplib:daqiandll -T link:lib Add.mrnrn结果没有出现预期的dll,lib文件 错误提示如下rnrnlink:extra operand 'user32.lib'rnTry link --help' for more infermation.rnrnD:\MATLIB7.1\MATLIB\BIN\WIN32\\..\MEX.PL:Error : Link of 'daqiandll.dll' failed.
matlab特征值和特征向量计算问题
RT,我在求一个超大矩阵(10021\*10021的稀疏图的邻接矩阵)的特征值和特征向量遇到如下问题:rnrn(1)特征值和特征向量计算时间过长,虽然可以运行出来,但是需要处理大约50分钟,这里使用matlab自带的eig函数运算,请问有无高效的求全部特征值所组成的对角阵和全部特征向量所组成的矩阵的运算方法?rnrn(2)在求得特征向量矩阵V以后,我将其求逆后与一个列向量X(10021\*1)相乘,得到的是一个类奇异矩阵Y【Y=V^(-1)\*X】,无法做到V与Y相乘来还原X【X=V\*Y,算式应成立,但是Y奇异matlab无法运算】,请问我应该如何操作可以还原X矩阵?rn> >> V^(-1)*X; rn警告: 矩阵为奇异工作精度。 rn> In matlab.internal.math.mpower.viaMtimes (line 35) rnrn**03.25更新:问题二V压根就是一个不可逆矩阵,描述有误,抱歉。rn使用pinv求逆时候svd内存不足,有方法解决吗?**
matlab求关联维程序
写学位论文的时候编写的matlab程序,经过我几次修改过,运行效率还可以
求Matlab正弦拟合程序
如上,求解四参数正弦拟合各系数
求纱管颜色直方图的matlab 程序
clc clear A=imread('src.jpg'); B=imread('msk.jpg'); [row,column,channel]=size(B); for ii=1:row for jj=1:column if(B(ii,jj)<250) A(ii,jj,:)=0; end end end imshow(A(:
MATLAB区域标记提取指定编号区域
本程序针对二值化后分割图像进行感兴趣区域提取,对研究图像分割区域提取有一定的参考价值。 clc clear close all I= imread('gend.bmp'); figure(1); imshow(I); I=im2bw(I); [L, num] = bwlabel(I); STATS1=regionprops(L,'Perimeter');   ahe=size(
[matlab]matlab中的简单插值计算
插值 插值是在已知数据之间寻找估计值的过程 一维插值 对于一维函数y=f(x)进行插值,主要分为 - 基于多项式插值 - 基于快速傅里叶插值 基于多项式插值 线性插值: 两个数据点之间的中间值都落在这两个数据点连成的直线上。数据点数目增多和数据点之间的距离缩短,都会使插值越来越精确。 inter1(x,y,x x,metstr) 返回长度和向量x相同的向量x x。函数f由向...
MATLAB规划问题程序
MATLAB规划问题程序
matlab 程序中的问题
m1=0:5;rnff1=[0,1,2,3,4,5];rnm2=-3:3;rnff2=[6,5,4,3,2,1,0];rn[f1n,f2n,k]=duiqi(ff1,m1,ff2,m2);rnadd_f=f1n-f2n;rnpro_f=f1n .* f2n;rnsubplot(221)rnstem(m1,ff1,'r');rnaxis([-8 8 -8 8]);rnxlabel('(a)')rntitle('ff1序列')rnsubplot(222)rnstem(m2,ff2,'r');rnxlabel('(2)')rntitle('ff2序列')rnaxis([-8 8 -8 8])rnsubplot(223)rnstem(k,add_f,'r');rnxlabel('(c)')rntitle('add_f序列')rnaxis([-8 8 -8 8])rnsubplot(224)rnstem(k,pro_f,'r');rnxlabel('(d)')rntitle('pro_f序列')rnaxis([-8 8 -8 8])rnrnrn 这是源程序出现错误 Error in ==> Untitle7 at 5rn[f1n,f2n,k]=duiqi(ff1,m1,ff2,m2);rnrn
潮流计算(matlab)实例计算
潮流计算matlab程序指导和算法说明,应用了交流潮流法
Matlab基础(《精通MATLAB最优化计算》笔记)
命令窗口中常用的命令及功能 …是连行号(很贴心为强迫症设计的),分号“;”的作用是:指令执行结果不显示在屏幕上,但变量S将驻留在内存中MATLAB默认常量 字符串 字符串作为字符数组用单引号(‘)引用到程序中,还可以通过字符串运算组成复杂的字符串。字符串数值和数字数值之间可以进行转换,也可以执行字符串的有关操作元胞数组 元胞数组(cell array)与数字数组相似,以下标来区分,单元胞数组
[MATLAB] MATLAB GPU 加速计算 教程 (英文版)
☆ 资源说明:☆ [Morgan Kaufmann] MATLAB GPU 加速计算 教程 (英文版) [Morgan Kaufmann] Accelerating MATLAB with GPU Computing A Primer with Examples (E-Book) ☆ 图书概要:☆ Beyond simulation and algorithm development, many developers increasingly use MATLAB even for product deployment in computationally heavy fields. This often demands that MATLAB codes run faster by leveraging the distributed parallelism of Graphics Processing Units (GPUs). While MATLAB successfully provides high-level functions as a simulation tool for rapid prototyping, the underlying details and knowledge needed for utilizing GPUs make MATLAB users hesitate to step into it. Accelerating MATLAB with GPUs offers a primer on bridging this gap. ☆ 出版信息:☆ [作者信息] Jung W. Suh, Youngmin Kim [出版机构] Morgan Kaufmann [出版日期] 2013年12月16日 [图书页数] 258页 [图书语言] 英语 [图书格式] PDF 格式
Matlab——离散点的随机区域分配
能运行,包括函数文件,可再优化
matlab 程序
很好玩的matlab程序,对于变成有很大上午帮助
matlab的程序
经过写源程序来做频分复用 然后在电脑上用扩音器进行录音 放音 进行音频信号的时域频域分析
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池