草庐IT

三边形

全部标签

python - 如何使用 rasterio/python 使用 shapefile 屏蔽栅格,将多边形内的栅格像素设置为零?

我正在尝试创建一个土地掩模以应用于卫星图像,它将与土地质量相交的栅格中的像素设置为0。在尝试了gdal、skimage、pyplot等之后,我发现rasteriocookbook中给出的方法既快速又简单。但是,它将多边形外部的像素设置为0,而我正在尝试执行相反的操作。如果可能,请继续使用栅格-您不必计算地理空间坐标的像素位置或处理超出栅格变为负范围的裁剪功能。它的速度也很快,这对于我正在处理的原始图像的文件大小来说很重要。来自这里:https://mapbox.s3.amazonaws.com/playground/perrygeo/rasterio-docs/cookbook.htm

python - 从自上而下的相机确定多边形表面旋转的方法

我有一个网络摄像头俯视一个绕单轴旋转的表面。我希望能够测量表面的旋转角度。相机位置和表面的旋转轴都是固定的。表面现在是一种明显的纯色,但如果有帮助,我确实可以选择在表面上绘制特征。这是一个表面在其整个范围内移动的动画,显示了不同的外观形状:到目前为止我的方法:记录一系列“校准”图像,其中表面在每幅图像中处于已知角度对每个图像设置阈值以隔离表面。使用cv2.approxPolyDP()找到四个角。我遍历各种epsilon值,直到找到一个恰好产生4分的值。一致地排列点(左上、右上、右下、左下)用atan2计算每个点之间的角度。使用角度拟合sklearnlinear_model.linear

python - 如何使用 Matplotlib 绘制 Shapely 多边形和对象?

我想将Shapely用于我的计算几何项目。为此,我需要能够可视化和显示多边形、线条和其他几何对象。我尝试为此使用Matplotlib,但遇到了问题。fromshapely.geometryimportPolygonimportmatplotlib.pyplotaspltpolygon1=Polygon([(0,5),(1,1),(3,0),])plt.plot(polygon1)plt.show()我希望能够在绘图中显示此多边形。我将如何更改我的代码来执行此操作? 最佳答案 使用:importmatplotlib.pyplotasp

python - 多边形中的 geopandas 点

我有一个多边形的GeoDataFrame(~30)和一个点的GeoDataFrame(~10k)如果点存在于多边形中,我希望在我的点的GeoDataFrame中使用简单的bool值True/False创建30个新列(具有适当的多边形名称)。举个例子,Polygons的GeoDataFrame是这样的:idgeometryfooPOLYGON((-0.18353,51.51022,-0.18421,51.50767,-0.18253,51.50744,-0.1794,51.50914))barPOLYGON((-0.17003,51.50739,-0.16904,51.50604,-0.

python - 查找最大面积的多边形内接于较大的多边形

我想找到一个多边形的旋转和位置,以在适合更大多边形的约束下最大化它可以放大的大小。目前的想法是使用scipyoptimizationroutines用于优化位置和旋转参数以最大化缩放参数,以及shapely添加包含多边形的约束。这看起来会很慢而且不是特别优雅。其他想法? 最佳答案 这个问题听起来像是NP-Hard。给定一个候选解决方案,您无法真正确定它是最佳解决方案。看来您需要尝试使用某种增量随机搜索。 关于python-查找最大面积的多边形内接于较大的多边形,我们在StackOverf

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

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

python - 如何在 Tkinter Canvas 上旋转多边形?

我正在努力使用Python和Tkinter创建一个小行星版本。当按下左或右箭头键时,船需要旋转。这艘船是TkinterCanvas上的三角形。我无法想出调整三角形坐标的公式。我相信它与sin和cos有关,尽管我不确定。到目前为止,我有两个类,一个用于船,另一个用于游戏。在ship类中,我有按键的回调方法。任何帮助将不胜感激。谢谢。船级importmathclassShip:def__init__(self,canvas,x,y,width,height):self.canvas=canvasself.x=x-width/2self.y=y+height/2self.width=widt

python - 如何从一组点绘制最大的多边形

所以,我有一组点(x,y),我希望能够以这些点为顶点绘制最大的多边形。我可以在matplotlib中使用patches.Polygon(),但这只是按照我给它们的顺序在点之间画线。这不会自动执行我想要的操作。例如,如果想画一个正方形,然后通过增加x,然后通过增加y对点进行排序,我不会得到一个正方形,而是两个连接的三角形。(线“越过”)所以现在的问题是找到一种方法来对点列表进行排序,以便在遍历此列表时“绕过多边形的外部”。或者Matplotlib中是否有一些其他功能可以为我做这件事? 最佳答案 正如所建议的那样,一个简单的解决方案是计

python - shapely 和 matplotlib 多边形中的点与地理定位不准确

我正在使用matplotlib和shapely测试多边形中的点函数。这是一个map包含一个百慕大三角多边形。Googlemap的多边形内点函数清楚地显示testingPoint和testingPoint2在多边形内部,这是一个正确的结果。如果我在ma​​tplotlib和shapely中测试这两个点,只有point2通过测试。In[1]:frommatplotlib.pathimportPathIn[2]:p=Path([[25.774252,-80.190262],[18.466465,-66.118292],[32.321384,-64.75737]])In[3]:p1=[27.2

python - 如何在 matplotlib 中使用自定义影线填充多边形?

我正在使用python和matplotlib创建多个闭合多边形。然后我需要用阴影填充它们,这可以通过set_hatch完成。http://matplotlib.org/api/artist_api.html#matplotlib.patches.Patch.set_hatchhttp://matplotlib.org/examples/pylab_examples/hatch_demo.html不幸的是,我正在处理灰度图像,我需要比默认提供的更多的影线-我更愿意提供可以平铺的位图(或一些类似的图像),而不是使用这些具有不同密度的影线。我对其他python库(pyglet、pygame、