首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用C语言实现8连通性Hoshen-Kopelman算法

Hoshen-Kopelman算法是一种用于图像处理和图像分析的连通性算法。它可以将图像中的像素按照连通性关系进行分组,并为每个连通分量分配一个唯一的标识符。这个算法通常用于图像分割、物体识别和形态学分析等领域。

Hoshen-Kopelman算法的实现可以使用C语言来完成。下面是一个简单的C语言实现示例:

代码语言:txt
复制
#include <stdio.h>

#define WIDTH 10
#define HEIGHT 10

int image[WIDTH][HEIGHT] = {
    {1, 0, 1, 0, 0, 1, 1, 0, 0, 1},
    {1, 1, 0, 0, 0, 1, 0, 0, 1, 1},
    {0, 0, 0, 1, 1, 0, 0, 0, 1, 0},
    {1, 0, 0, 0, 0, 1, 1, 0, 0, 1},
    {0, 0, 1, 1, 0, 0, 1, 0, 0, 0},
    {1, 0, 0, 1, 0, 0, 0, 1, 0, 1},
    {0, 1, 0, 0, 1, 0, 0, 0, 1, 0},
    {1, 0, 0, 1, 0, 0, 1, 0, 0, 1},
    {0, 0, 1, 0, 0, 1, 0, 0, 1, 0},
    {1, 1, 0, 0, 1, 0, 0, 1, 0, 0}
};

int labels[WIDTH][HEIGHT] = {0};
int current_label = 1;

int find(int x) {
    while (labels[x / WIDTH][x % WIDTH] != x) {
        x = labels[x / WIDTH][x % WIDTH];
    }
    return x;
}

void union_labels(int x, int y) {
    int root_x = find(x);
    int root_y = find(y);
    if (root_x != root_y) {
        labels[root_y / WIDTH][root_y % WIDTH] = root_x;
    }
}

void hoshen_kopelman() {
    for (int i = 0; i < WIDTH; i++) {
        for (int j = 0; j < HEIGHT; j++) {
            if (image[i][j] == 1) {
                int up = (i == 0) ? 0 : labels[(i - 1)][j];
                int left = (j == 0) ? 0 : labels[i][(j - 1)];
                
                if (up == 0 && left == 0) {
                    labels[i][j] = current_label;
                    current_label++;
                } else if (up != 0 && left == 0) {
                    labels[i][j] = up;
                } else if (up == 0 && left != 0) {
                    labels[i][j] = left;
                } else {
                    labels[i][j] = up;
                    union_labels(up, left);
                }
            }
        }
    }
}

void print_labels() {
    for (int i = 0; i < WIDTH; i++) {
        for (int j = 0; j < HEIGHT; j++) {
            printf("%d ", labels[i][j]);
        }
        printf("\n");
    }
}

int main() {
    hoshen_kopelman();
    print_labels();
    return 0;
}

这个示例代码实现了一个10x10的二维图像的Hoshen-Kopelman算法。它首先定义了一个10x10的图像数组image,其中1表示图像中的物体,0表示背景。然后定义了一个与图像数组相同大小的标签数组labels,用于存储每个像素的标签。current_label变量用于记录当前的标签值。

find函数用于查找给定像素的根标签,它使用了路径压缩的优化技巧。union_labels函数用于合并两个标签,将它们连接在一起。

hoshen_kopelman函数是算法的核心部分,它遍历图像数组,对每个像素进行处理。如果当前像素是物体像素(值为1),则根据其上方和左方的像素的标签情况,确定当前像素的标签。如果上方和左方的像素都是背景像素(标签为0),则为当前像素分配一个新的标签;如果上方和左方的像素都是物体像素,则将它们的标签合并,并将合并后的标签赋给当前像素。

最后,print_labels函数用于打印标签数组,展示算法的结果。

这个示例代码只是一个简单的实现,实际应用中可能需要考虑更多的情况和优化。如果你想了解更多关于Hoshen-Kopelman算法的细节和应用场景,可以参考腾讯云的图像处理相关产品和服务,例如腾讯云图像处理(https://cloud.tencent.com/product/tci)或腾讯云视觉智能(https://cloud.tencent.com/product/vision)等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • PNAS:控制缺乏情感的肢体语言的大脑回路

    适应性社会行为和心理健康不仅依赖于对情绪表达的识别,而且依赖于对情绪缺失的推断。虽然承销情绪感知的神经生物学已经得到了很好的研究,但在社会信号中检测缺乏情绪内容的机制仍在很大程度上是未知的。在这里,使用大脑有效连接的先进分析,我们揭示了区分中性和情感的肢体语言的大脑网络。数据显示,相对于情绪性肢体语言,右侧杏仁核和小脑蚓中线更活跃。最重要的是,杏仁核和脑岛之间的有效连接预测了人们识别没有情绪的能力。这些结论在很大程度上扩展了当前的情绪感知概念,表明在识别肢体语言阅读中缺乏情绪时,使用了边缘有效连接。此外,通过提供肢体语言阅读和边缘通路之间缺失的环节,该结果可能会促进对抑郁症或精神分裂症中过度情绪化的社会信号的理解。因此,这项研究为从动物模型到神经精神疾病患者社会认知和潜在的小脑网络的多学科研究开辟了一条道路。

    00

    基于连通性状态压缩的动态规划问题

    基于连通性状态压缩的动态规划问题 基于状态压缩的动态规划问题是一类以集合信息为状态且状态总数为指数级的特殊的动态规划问题.在状态压缩的基础上,有一类问题的状态中必须要记录若干个元素的连通情况,我们称这样的问题为基于连通性状态压缩的动态规划问题,本文着重对这类问题的解法及优化进行探讨和研究. 本文主要从动态规划的几个步骤——划分阶段,确立状态,状态转移以及程序实现来介绍这类问题的一般解法,会特别针对到目前为止信息学竞赛中涌现出来的几类题型的解法作一个探讨.结合例题,本文还会介绍作者在减少状态总数和降低转移开销

    08

    Cerebral Cortex|认知和基于结构协方差结构形态连接的性别差异:来自UK Biobank大样本量的证据

    摘要:有证据表明,在特定领域的认知存在性别差异,女性通常在言语记忆方面表现出优势,而男性往往在空间记忆方面表现得更好。大脑连通性的性别差异得到了充分的记录,可能为这些差异提供了见解。在这项研究中,我们研究了来自英国生物银行的大型健康样本的认知和结构协方差的性别差异,作为形态测量连通性的指标。正如预测的那样,女性表现出更好的言语记忆,而男性表现出空间记忆优势。女性也表现出更快的处理速度,在执行功能上没有观察到性别差异。相对于女性,男性表现出更高的整体效率,以及更高的两个半球的区域协方差。这些发现有助于更好地理解生物性别和认知差异如何与图形论方法衍生的形态测量连通性相关。

    01

    Molecular Psychiatry:家庭收入对儿童脑功能连接的影响

    摘要:较高的家庭收入F1与较大的皮质灰质体积和儿童认知能力的提高有关。然而,人们对Fl对大脑功能和结构连接的影响知之甚少。本横断面研究调查了Fl对9-11岁儿童大脑连通性和认知表现的影响。低Fl与默认模式网络(DMN)、上下顶叶皮层和小脑后部的整体功能连接密度(gFCD)下降有关,而运动、听觉、外皮层视觉区和皮质下区域的gFCD增加有关。认知表现部分介导了语速与DMN连通性之间的关联,而DMN连通性不介导语速与认知表现之间的关联。相比之下,Fl与结构连通性之间没有显著关联。研究结果表明,较差的认知表现可能反映了多种因素(遗传、营养、父母互动的水平和质量以及教育暴露),导致低收入家庭儿童DMN功能连通性降低。需要后续研究来帮助澄清这是否会导致这些儿童随着年龄增长而结构连通性下降。

    03

    Cerebral Cortex:疼痛诱发的功能脑网络重组

    最近的研究表明,慢性疼痛患者的大脑网络可能发生重大的重组,但即时疼痛体验如何影响大规模功能网络的组织尚不清楚。为了研究这个问题,我们对106名同时经历有害和无害发热的参与者进行了功能性磁共振成像。疼痛刺激引起的脑连接的网络重组与无痛刺激和标准静息状态网络的组织结构有本质上的不同。有害刺激增加了躯体感觉网络与(a)参与情境表征的额顶叶网络、(b)参与动机行为选择的腹侧注意网络区域以及(c)基底神经节和脑干区域的连接。这导致了小世界性、模块化(更少的网络)和全球网络效率的降低,并出现了一个整合的疼痛超级系统(PS),其活动预测了5个参与者群体中疼痛敏感性的个体差异。网络枢纽被重组(枢纽中断),以便更多的枢纽在PS中被定位,并且从连接不同网络的连接器枢纽转向连接PS内区域的省级枢纽。我们的发现说明大尺度脑系统网络结构的重组,这些变化可能会优先考虑对疼痛事件的反应,并在疼痛过程中提供伤害性系统认知和行动的中央控制的特权访问。

    02

    追踪任务期间fMRI功能连接的空间动态

    功能磁共振成像(fMRI)测量的功能连通性(FC)为探索大脑组织提供了一个强有力的工具。脑组织的时间动力学研究表明,功能连接体具有很大的时间变异性,这可能与心理状态的转变和/或适应过程有关。大多数动态研究,如功能连接体和功能网络连接(FNC),都关注于宏观的FC变化,即不同脑网络来源、节点和/或感兴趣区域的时间相干性变化,其中假设在网络或节点内FC是静态的。在本文中,我们发展了一种新的方法来检查FC的空间动力学,而不假设其网络内的平稳性。我们将我们的方法应用于22名受试者的听觉oddball任务(AOD)中的fMRI数据,试图通过评估空间连通性是否随任务条件而变化来捕获/验证该方法。结果表明,除了参与传统的时间动态,如跨网络变异性或动态功能网络连通性(dFNC),连接网络还表现出随时间的空间变异性。此外,我们还通过聚类分析评估个体对AOD任务中目标(oddball)检测的功能对应关系,研究了FC的空间动态与认知过程的关系。提取认知任务对应状态,并分离对应状态的动态FC空间图。在不同的任务引导的状态下,任务刺激同步状态随着默认模式网络(defaultmode network, DMN)与认知注意网络强的负相关关系显著降低。我们还观察到越来越多的任务异步状态,这种状态表现出没有DMN的反相关。研究结果强调了认知任务对观察到的空间动态结构的影响。我们还发现,我们方法得到的FC空间动态模式与宏观dFNC模式基本一致,但在空间上有更多的细节和规范,同时源内部的连通性提供了新的信息,并随时间而变化。总的来说,我们证明了(通常被忽视的)连接的空间动力学存在的证据,它与任务的联系和认知/心理状态的暗示。

    03

    Cerebral Cortex:静息态fMRI功能连接可以预测男女关系的相容性

    即使在信息技术显著发展的情况下,基于自我报告的特征和偏好来预测异性恋个体最初的相容性也并不成功。为了克服自我报告测量和预测相容性的局限性,我们使用了来自静息状态功能磁共振成像(fMRI)数据的功能连接,这些数据携带丰富的个体特异性信息,足以预测社会认知任务中的心理构建和激活模式。在从静息态功能磁共振成像(fmri)中收集数据的几天后,参与者进行了一个快速约会实验,在这个实验中,他们与其他所有异性参与者进行3分钟的快速约会。我们的机器学习算法成功地预测了实验中的成对是否兼容,使用实验前获得的功能连接的(不)相似性。个体之间功能连接的相似性和差异性以及这些多元关系有助于预测,因此表明了互补性(观察到的差异性)的重要性,以及个体与潜在伴侣在最初吸引阶段的相似性。结果表明,突显网络、边缘区域和小脑对相容感尤为重要。这项研究强调了神经信息在社会环境中预测复杂现象的效用,而单凭行为测量是无法预测的。

    03

    额叶-小脑连接介导认知加工速度

    加工速度是理解认知的重要概念。本研究旨在控制任务特异性,以了解认知加工速度背后的神经机制。对40名被试执行两种方式(听觉和视觉)和两种水平的任务规则(相容和不相容)的注意任务。block设计的功能磁共振成像在任务过程中捕捉到了BOLD信号。参考公开的用于处理速度的任务激活图,定义了13个感兴趣区域。认知速度是从任务反应时间得出的,这产生了六组连接性测量。混合效应LASSO回归显示,有六条重要路径提示了小脑-额叶网络预测认知速度。其中,3例为长程(2例额叶-小脑,1例小脑-额叶),3例短程(额叶-额叶、小脑-小脑和小脑-丘脑)。长距离的连接可能与认知控制有关,而短距离的连接可能与基于规则的刺激-反应过程有关。揭示的神经网络表明,按照任务规则执行操作,自动性与自上而下努力控制注意力相互作用,解释了认知速度。 1 简述 本研究旨在通过使用一系列简单的视觉和听觉通道的刺激-反应(S-R)映射任务来解决可能的任务相关偏差。这个多任务设计目的是解决上面提到的特定于形态和功能偏向的。箭头任务最初是一种视觉S-R兼容性任务,为了更好地控制所需的感觉运动处理时间,回答涉及到关于所看到或听到的内容的简单反应,箭头任务后来被改编成视觉和听觉形式(图1)。为了减少任务转换效应和交叉试验的不确定性,我们采用了分组设计,而不是与事件相关的设计。此外,我们的目标是解决以前的研究中的方法论缺陷,这些研究利用皮尔逊的相关性和心理生理学相互作用(PPI)来建立基于连接性的模型来预测加工速度。在这项研究中,我们建立了六个连通性指标,包括四个基于多变量的指数,用于进行模型比较。通过将控制任务的反应时与控制感觉运动成分的实验任务的反应时进行回归,构造了一个认知速度变量。功能关联性模型的建立基于混合效应套索回归。据我们所知,本文在该领域首次采用跨通道多任务设计,并比较了6种方法对区域间交互作用辅助处理速度的建模结果。 2 方法 2.1 被试 从当地社区招募了40名年龄在18-28岁的健康年轻人参与研究。他们都有高中或以上学历。最终样本包括35名参与者(21.5±2.1岁,14名女性),其中5名参与者被排除在分析之外。 2.2 处理速度任务 箭头任务被用来测量加工速度。它包括一个双选择S-R映射任务,具有相容(COM)、不相容(INC)和简单RT控制条件(NEU)(图1)。在COM中,参与者在出现向上箭头时按下“向上”按钮,在出现向下箭头时按下“向下”按钮(图1)。在INC中,参与者按下“向上”键表示向下箭头,按“向下”键表示向上箭头。实验涉及参与者在观看一条没有箭头的垂直线时按下任何按钮。因为在这些条件下出现的刺激是视觉图像,所以它们被称为COMVIS、INC-VIS和NEU-VIS。相同条件的听觉版本是COM-AUD、INC-AUD和NEU-AUD,向上箭头、向下箭头和垂直线分别被高音、低音和中音代替。

    01

    脑电连通性:优化研究设计和评估的基本指南和检查清单

    对于EEG数据有多种分析方法来评估大脑连通性。然而,连通性方法的实施存在很大的异质性。连通性测量、数据收集或者数据预处理的概念化的异质性可能与测量稳健程度的易变性有关。虽然使用不同EEG连通性测量的研究之间很难进行比较,但标准化的处理和报告可能有助于解决这个问题。本文讨论了重参考、epoch的长度和数量、容积传导的控制、伪迹去除、多重比较的统计控制等因素如何影响连通性测量的EEG连通性评估。基于先前的研究,本文提出了相关建议和新的检查清单用于EEG连通性研究的质量评估。该检查清单和建议旨在提请注意那些可能影响连通性评估的因素以及未来研究中需要改进的因素。EEG连通性程序和报告的标准化可能使得EEG连通性研究更具可综合性[如,用于元分析研究]和可比性,尽管连通性评估的方法上存在差异。

    01

    图像的代数连通性的边缘差分隐私 (CS Cryptography and Security)

    在建模多主体系统中,图像是其中主导的形式。图像的代数连通性特别重要,因为它给出了共识算法的合流速度,而共识算法正是众多多智能体控制和优化技术的基础。但是,代数连通值的共享可能会无意间泄露有关图像拓扑算法中的敏感信息,例如在社交网络中的连接。因此,我们在这项工作中提出了一种基于图论形式的差分隐私(称为边缘差分隐私)下发布图像的代数连通性的方法。边缘差分隐私掩盖了图像边缘集之间的差异,进而掩盖了其中不存在或存在敏感连接的情况。我们为有界的拉普拉斯噪声提供了保密性,与传统的无界噪声相比,它可以提高准确性。有分析显示私有代数连通值可以给出对共识收敛速度的准确估算,以及图像直径及其节点之间的平均距离的准确界限。在模拟的结果中也反映了在这些情况下私有代数连通性的实用性。

    00

    大脑网络的结构-功能耦合:一种机器学习方法

    摘要:虽然大多数生物系统的功能受到其结构的严格限制,但目前的证据表明,大脑网络的结构和功能之间的耦合是相对温和的。我们的目的是研究连接体结构和功能之间的适度耦合是神经系统的基本属性还是当前脑网络模型的局限性。我们开发了一个新的深度学习框架来预测个体的大脑功能的结构体,达到的预测精度,大大超过了最先进的生物物理模型。重要的是,从个体的结构连接体预测的大脑功能解释了认知表现的显著个体间差异。我们的结果表明,人类大脑网络的结构-功能耦合比之前认为的要紧密得多。我们建立了现有的大脑网络模型可以改进的边界,并展示了深度学习如何促进大脑功能和行为之间关系的研究。

    00

    强化学习大牛Sergey Levine新作:三个大模型教会机器人认路

    机器之心报道 机器之心编辑部 内置大模型的机器人,在不看地图的情况下,学会了按照语言指令到达目的地,这项成果来自强化学习大牛 Sergey Levine 的新作。 给定一个目的地,在没有导航轨迹的情况下顺利到达,有多难? 对于方向感不好的人类来说,这个任务也是很有挑战性。但在最近的一项研究中,几位学者只用三个预训练模型就把机器人「教会了」。 我们都知道,机器人学习的核心挑战之一是使机器人能够按照人类的高级指令执行各种各样的任务。这就要求机器人能够理解人类的指令,并配备大量不同的动作,以便在现实世界中执行这

    01

    NC:结构连接组学的遗传结构

    摘要:由髓轴突形成长程连接,使远端大脑区域之间能够快速通信,但遗传学如何控制这些连接的强度和组织仍不清楚。我们对206名参与者的扩散磁共振成像束得出的26333种结构连接进行了全基因组关联研究,每种测量都代表了一对皮质网络、皮质下结构、皮质半球内部之间的髓鞘连接密度。在Bonferroni校正后,我们确定了30个独立的全基因组显着变异,用于研究的测量数量涉及髓鞘形成(SEMA3A)、神经突伸长和引导(NUAK1、STRN、DPYSL2、EPHA3、SEMA3A、HGF、SHTN1)、神经细胞增殖和分化(GMNCs、CELF4、HGF)、神经元迁移(CCDC88C)、细胞骨架组织(CTTNBP2、MAPT、DAAM1、MYO16、PLEC)和脑金属转运(SLC39A8)。结构连通性测量是高度多基因的,估计有9.1%的常见变异对每个测量具有非零影响,并表现出负选择的特征。结构连通性测量与各种神经精神和认知特征具有显着的遗传相关性,表明连通性改变变异往往会影响大脑健康和认知功能。在成人少突胶质细胞和多种胎儿细胞类型中染色质增加的区域,遗传性富集,表明结构连接的遗传控制由对髓鞘形成和早期大脑发育的影响介导。我们的研究结果表明,通过不同的神经发育途径对白质结构连接进行普遍的、多效性的和空间结构的遗传控制,并支持这种遗传控制与健康大脑功能的相关性。

    01

    Nature Communications:人类大脑的皮层下-皮层的动态状态及其在中风中的损伤

    控制大脑自发活动中的动态模式的机制尚不清楚。在这里,我们提供的证据表明,在超低频率范围内(<0.01-0.1Hz)的皮层动力学需要完整的皮层-皮层下通信。利用静息态功能磁共振成像(fMRI),我们确定了动态功能状态(DFSs),在超低频率下同步的短暂但周期性的静止区域簇。我们观察到,皮层簇的变化与皮层下簇的变化在时间上相一致,皮层区域与边缘区域(海马体/杏仁核)或皮层下核(丘脑/基底神经节)灵活同步。中风引起的局灶性病变,特别是那些基底神经节/丘脑和皮质之间的白质连接,引起DFSs之间的时间分数、逗留时间和转换的异常,导致异常网络整合的偏向。卒中后2周观察到的动态异常会及时恢复,并有助于解释神经功能损伤和长期预后。

    02

    大规模电生理网络动力学

    多年来,人们一直认为神经同步对认知至关重要。不同神经群之间的同步时间模式承载的信息超越了这些群的孤立活动,这一观点引发了功能性神经成像领域的焦点转移。具体来说,对某些刺激或任务引起的某些区域内的激活的研究,在一定程度上已经让位于对远端区域之间的共激活模式或功能连接的分析。最近,功能连接学界已经超越了早期工作所基于的平稳性假设,并引入了将时间动态纳入连接分析的方法。特别是,非侵入性电生理数据(脑磁图/脑电图(MEG/EEG))可以直接测量全脑活动和丰富的时间信息,为了解这种(潜在的快速)大脑动态提供了一个特殊的窗口。在本文中,我们讨论了挑战、解决方案以及近年来开发的一系列分析工具,这些工具有助于利用这些成像方式研究动态功能连接。进一步,我们讨论了这些方法在认知和神经精神障碍研究中的应用。最后,我们回顾了一些现有的发展,通过使用现实的计算模型,追求对非平稳连通性的潜在原因的更深入的理解。本文发表在NeuroImage杂志。

    03

    北理工团队用机器学习分析大鼠在跑步机上“遮目”双足行走

    大数据文摘转载自机器人大讲堂 让大鼠在跑步机上行走,这是要作甚? 受环境因素的影响,如低光环境,动物在行走时可能无法视觉观测到地形的变化,这使得它们需要调整自己的动作来适应不可预测的地形。 随着神经科学的发展,越来越多的研究表明大脑皮层在动物对意外干扰的反应中起着重要作用,但科学家对这一过程中皮层区域之间的功能网络知之甚少。 北理工大鼠实验 为了研究这个问题,北京理工大学的研发团队训练了六只视力受阻的大鼠在跑步机上行走(跑步机上有一个随机的不平坦区域),研究人员记录了大鼠的全脑脑电图信号,并使用相位滞后

    02
    领券