草庐IT

segmentation-fault

全部标签

C++ 二维曲面 segmentation 库?

我有一些凸多边形存储为点的STLvector(或多或少)。我要tessellate它们非常快,最好分成大小均匀的碎片,并且没有“条子”。我要用它把一些物体炸成小块。有谁知道一个很好的库来镶嵌多边形(将它们分成较小的凸多边形或三角形的网格)?我看过一些我已经在网上找到的,但我什至无法编译它们。这些学术类型不太重视易用性。 最佳答案 CGAL有解决这个问题的包。最好的可能是使用2DPolygonPartitioning包裹。例如,您可以生成多边形的y单调分区(也适用于非凸多边形),您会得到如下内容:运行时间为O(nlogn)。就易用性而

c++ - 在 D 中使用 C++ 类

我正试图找到一种在D中使用C++类的方法。http://www.digitalmars.com/d/2.0/cpp_interface.htmlDcannotcallC++specialmemberfunctions,andviceversa.Theseincludeconstructors,destructors,conversionoperators,operatoroverloading,andallocators.因此,我试图将这些C++函数简化为C风格的函数调用。这是我正在使用的证明。助手.hclasssomeClass{public:someClass();char*wha

c++ - 从段错误中恢复的最佳实践

我正在研究用C++编写的多线程进程,并且正在考虑使用google-coredumper修改SIGSEGV处理在发生段错误时使进程保持事件状态。但是,这种go​​ogle-coredumper的使用似乎已经成熟,有机会陷入核心转储的无限循环,除非我以某种方式重新初始化线程和可能导致核心转储的对象。在尝试通过核心转储使进程保持事件状态时,我应该牢记哪些最佳实践?我还应该注意哪些其他“陷阱”?谢谢! 最佳答案 实际上在C中是可能的。您可以通过相当复杂的方式实现它:1)覆盖信号处理程序2)使用setjump()和longjmp()设置要跳回

c++ - 为什么我的程序在内存不足时偶尔会出现段错误而不是抛出 std::bad_alloc?

我有一个程序可以实现多种启发式搜索算法和多个域,旨在通过实验评估各种算法。该程序是用C++编写的,使用GNU工具链构建,并在64位Ubuntu系统上运行。当我运行我的实验时,我使用bash的ulimit命令来限制进程可以使用的虚拟内存量,这样我的测试系统就不会开始交换。某些算法/测试实例组合达到了我定义的内存限制。大多数时候,程序会抛出一个std::bad_alloc异常,该异常由默认处理程序打印,此时程序终止。有时,程序不会发生这种情况,而只是出现段错误。为什么我的程序偶尔会在内存不足时出现段错误,而不是报告未处理的std::bad_alloc并终止? 最

《Label-Free Liver Tumor Segmentation》论文笔记

1、文章目的CVPR2023生成人工的肿瘤数据,减少人工标注的工作量。合成肿瘤图像:1、形状和质地很真,医生也难以分辨;2、训练网络更高效,与在真实肿瘤上训练相近。可以生成大量的小肿瘤的图像,对于肿瘤前期的诊断十分有帮助!影响合成肿瘤的因素包括:形状,灰度值,大小,位置和纹理。文章中生成肿瘤的策略:(i)不与血管碰撞的位置,(ii)带有按比例放大的高斯噪声的纹理,以及(iii)由扭曲的椭圆体产生的形状。此外,合成策略随心所欲的生成具有所需位置、大小、形状、纹理和强度的肿瘤,而不局限于固定的有限大小的训练集。该合成策略允许对肿瘤位置、大小、质地、形状和强度等参数进行直接操纵,为评估非分布式场景下

c++ - 编译后确定静态初始化顺序?

在C++中,我知道编译器可以选择以它选择的任何顺序初始化静态对象(受一些约束),并且通常您无法选择或确定静态初始化顺序。但是,一旦程序被编译,编译器必须决定以什么顺序初始化这些对象。有什么方法可以从带有调试符号的已编译程序中确定以什么顺序会调用静态构造函数吗?上下文是这样的:我有一个相当大的程序,当它在新工具链下构建时,它在main()之前突然出现段错误。这是一个静态初始化顺序问题,或者它正在加载的库之一有问题。但是,当我使用gdb进行调试时,崩溃位置只是报告为原始地址,没有任何符号信息或回溯。我想通过在第一个静态初始化对象的构造函数处放置一个断点来确定这两个问题中的哪一个,但我不知道

【Python&语义分割】Segment Anything(SAM)模型介绍&安装教程

1SegmentAnything介绍1.1概况        MetaAI公司的SegmentAnything模型是一项革命性的技术,该模型能够根据文本指令或图像识别,实现对任意物体的识别和分割。这一模型的推出,将极大地推动计算机视觉领域的发展,并使得图像分割技术进一步普及化。    论文地址:https://arxiv.org/abs/2304.02643        项目地址:SegmentAnything1.2核心优势        SegmentAnything模型的核心优势在于其强大的泛化能力和广泛的适用性。该模型不仅可以接受来自其他系统的输入提示,例如根据AR/VR头显传来的用户

二值mask转polygon/RLE (coco segment格式)

coco数据集annotation的segmentation并不是二值mask,而是polygon格式,看一个annotation.{ "segmentation":[[510.66,423.01,511.72,420.03,510.45......]],#两两组成(x,y)坐标,polygon格式 "area":702.1057499999998,#面积 "iscrowd":0,#是不是一群物体,为0是seg是polygon格式,否则是RLE格式 "image_id":289343,#对应的imageid "bbox":[473.07,395.93,38.65,28.67],#(x,y,w,

c - 为什么malloc有时不起作用?

我正在将C项目从Linux移植到Windows。在Linux上,它是完全稳定的。在Windows上,大多数情况下都能正常运行,但是有时我遇到了段错误。我正在使用MicrosoftVisualStudio2010进行编译和调试,看起来有时我的malloc调用根本不分配内存,返回NULL。机器有可用内存;它已经通过了该代码一千次,但仍然发生在不同的位置。就像我说的,它不会一直或在同一地点发生;它看起来像一个随机错误。在Windows上,我需要比在Linux上更加谨慎吗?我做错了什么? 最佳答案 malloc()无法为内存请求提供服务时,

c - 将 redisContext 传递给另一个函数时,libhiredis 不起作用

我正在尝试将自己的包装函数编写到libhiredis以在我的项目中使用,但是当我尝试将redis_context传递到另一个函数以从那里发出命令时。代码段错误并通过gdb报告:GDB错误:ProgramreceivedsignalSIGSEGV,Segmentationfault.sdscatlen(s=0x0,t=0x555555757690,len=22)atsds.c:239239sds.c:Nosuchfileordirectory.(gdb)backtrace#0sdscatlen(s=0x0,t=0x555555757690,len=22)atsds.c:239#10x00