草庐IT

轮廓仪

全部标签

python - 如何以有效的方式找到两个轮廓集之间的所有交点

我想知道找到两组等高线之间所有交点(舍入误差)的最佳方法。哪种方法最好?这是示例:importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(-1,1,500)X,Y=np.meshgrid(x,x)Z1=np.abs(np.sin(2*X**2+Y))Z2=np.abs(np.cos(2*Y**2+X**2))plt.contour(Z1,colors='k')plt.contour(Z2,colors='r')plt.show()我想要一些类似于:intersection_points=intersect(contour1,co

python - 在 matplotlib 中将 hist2d 输出转换为轮廓

我使用matplotlib.hist2d在Python中生成了一些数据。数据示例如下所示。如您所见,通过在整个绘图中追踪相同的颜色可以找到该数据中的一些等高线。我看到一个以0.015为中心的Gamma分布。我想获取这些数据并收集这些轮廓,这样我就可以看到穿过每个颜色级别的线条轨迹。我尝试像这里一样使用轮廓函数counts,xedges,yedges,Image=hist2d(x,y,bins=bins,norm=LogNorm(),range=[[0,1],[0,400]])contour(counts)但这似乎没有产生任何结果。有谁知道获得这些轮廓的最佳方法?理想情况下,我想采用这些

python - 使用 matplotlib 创建随机形状/轮廓

我正在尝试使用python生成随机轮廓的图像,但找不到简单的方法。这是我想要的示例:最初我想用matplotlib和高斯函数来做,但我什至无法接近我展示的图像。有什么简单的方法吗?感谢任何帮助 最佳答案 问题是问题中显示的那种随机形状并不是真正随机的。它们以某种方式平滑、有序、看似随机的形状。虽然使用计算机可以轻松创建真正随机的形状,但使用笔和纸创建这些伪随机形状要容易得多。因此,一种选择是以交互方式创建此类形状。这显示在问题InteractiveBSplinefittinginPython中。如果您想以编程方式创建随机形状,我们可

python - matplotlib 轮廓可以匹配像素边缘吗?

如何在matplotlib中绘制像素边界?例如,对于如下所示的半随机数据集,#thecodeblockthatfollowsisirrelevantimportnumpyasnpk=[]forsin[2103,1936,2247,2987]:np.random.seed(s)k.append(np.random.randint(0,2,size=(2,6)))arr=np.hstack([np.vstack(k)[:,:-1],np.vstack(k).T[::-1].T])image=np.zeros(shape=(arr.shape[0]+2,arr.shape[1]+2))ima

python - 带有sklearn的python中的轮廓系数

我在使用sklearn计算python中的轮廓系数时遇到了问题。这是我的代码:fromsklearnimportdatasetsfromsklearn.metricsimport*iris=datasets.load_iris()X=pd.DataFrame(iris.data,columns=col)y=pd.DataFrame(iris.target,columns=['cluster'])s=silhouette_score(X,y,metric='euclidean',sample_size=int(50))我得到错误:IndexError:indicesareout-of-b

python - 从 matplotlib 中的轮廓获取坐标?

背景来自thedocumentationexamplehere,可以使用代码片段轻松生成以下等高线图。importmatplotlibimportnumpyasnpimportmatplotlib.cmascmimportmatplotlib.mlabasmlabimportmatplotlib.pyplotaspltmatplotlib.rcParams['xtick.direction']='out'matplotlib.rcParams['ytick.direction']='out'delta=0.025x=np.arange(-3.0,3.0,delta)y=np.arang

c++ - 用opencv python填充轮廓

我有一个带有折线的二值图像:cv2.polylines(binaryImage,contours,1,(255,255,255))我现在需要的是填充所有折线的有效方法。我没有在opencv中找到这样的方法,但也许它存在。或者,也许我可以实现算法来完成这项工作(但速度很快——我有高清图片)。请分享您的想法.. 最佳答案 我想你要找的是cv2.fillPoly,它填充由一个或多个多边形包围的区域。这是一个简单的片段,我生成了一个代表正方形顶点的四个点的轮廓,然后我用白色填充多边形。importnumpyasnpimportcv2cont

python KDE 将轮廓和路径转换为特定的 json 格式 leaflet-friendly

我正在用Python进行核密度估计,并获得如下所示的等高线和路径。(这是我的示例数据:https://pastebin.com/193PUhQf)。fromnumpyimport*frommathimport*importnumpyasnpimportmatplotlib.pyplotaspltfromscipyimportstatsx_2d=[]y_2d=[]data={}data['nodes']=[]#hereisthesampledata:#https://pastebin.com/193PUhQfX=[.....]forPickerinxrange(0,len(X)):x_2

dicom - 在 Python 中将 DICOM 结构轮廓作为数组获取

因此,如果我有图像(CT、MRI等)或放射治疗的剂量,我可以通过以下方式将剂量或图像值提取到数组中:importdicomds=dicom.read_file("dicom_file.dcm")printds.pixel_array这非常简单,让我能够随心所欲地处理图像/剂量。但是,通常您还有一个结构文件,其中包含您可以在图像查看器或类似工具中看到的不同轮廓结构。同样,非常简单。我的问题是我也想将这些单独的结构作为一个数组。如果我运行相同的代码,我只会得到TypeError:Nopixeldatafoundinthisdataset.我猜测结构DICOM文件的“制作”方式与剂量/图像D

python通过偏移轮廓/缩小多边形来分离圆形粒子

我是python的新手并且卡住了..我想制作一个python脚本,允许我像这样在图像上分离相邻的粒子:像这样分成不同的区域:我被建议使用分水岭方法,据我所知,它会给我这样的结果:EDIT居然发现这是距离变换不是分水岭然后我可以在其中使用阈值将它们分开。按照这个openCVwatershedguide但它只能去除颗粒。无法“转换”代码来执行我想要的操作。然后我采用了另一种方法。尝试使用openCVcontours这给了我很好的颗粒轮廓。然后我一直在集中寻找一种简单的方法来执行多边形偏移,以便像这样缩小边缘:使用偏移等高线(多边形)的中心应该会给我粒子的数量。但我只是能够找到一种简单的方法