对于我的生活,我无法弄清楚如何获得与this相同的结果。该链接在不使用等高线的情况下生成彩色3d图。如果我使用相同的技术,但使用我自己的x、y、z数据集,我只会得到一种颜色。区别一定在于我为绘图生成z数据的方式。无论如何,使用这个:frommpl_toolkits.mplot3dimportAxes3Dfrommatplotlib.mlabimportgriddatafrommatplotlibimportcmfrommatplotlib.tickerimportLinearLocator,FormatStrFormatterimportmatplotlib.pyplotaspltim
我正在尝试从轮廓创建mask,但出现C++错误。使用OSXYosemite、Python2.7.10、OpenCV3.1.0。defcreate_mask(img,cnt):'''Createamaskofthesamesizeastheimagebasedontheinteriorofthecontour.'''mask=np.zeros((img.shape[0],img.shape[1]),np.uint8)print("create_mask,cnt=%s"%cnt)cv2.drawContours(mask,[cnt],0,(0,255,0),-1)returnmaskpri
我用MatplotLib获得了这个轮廓:现在,我想将它用作普通的Python图像(PIL或数组),因为我想给它应用一个掩码(通过OpenCV获得)。问题是,使用MatplotLib时,带有轮廓的图像被调整大小,并添加了边距(对于轴,即使我不绘制轴),所以我从MatplotLib的图中获得的图像不适合使用OpenCV获得的掩码。我试图用OpenCV获得相同的轮廓,但我没有用cv2.FindContours和cv2.DrawContours函数获得任何结果(如果你知道如何这样做,请告诉我......在这个previoustopic可以看到原图和我想要的轮廓)另一种可能的解决方案是将使用Ma
我需要在多边形内创建海面温度(SST)数据的填充等值线图,但我不确定执行此操作的最佳方法。我有三个一维数组,其中包含X、Y和SST的数据,我使用以下内容绘制它们以创建附加图:p=PatchCollection(mypatches,color='none',alpha=1.0,edgecolor="purple",linewidth=2.0)levels=np.arange(SST.min(),SST.max(),0.2)datamap=mymap.scatter(x,y,c=SST,s=55,vmin=-2,vmax=3,alpha=1.0)我希望能够将这些数据绘制为填充轮廓(cont
在matplotlib中,我想创建一个插入颜色条来显示等高线图的比例,但是当我使用contour创建等高线时,颜色条有白色条纹贯穿其中,而当我使用contourf时,颜色条具有适当的“平滑”外观:如何从我的正常等高线图上的填充等高线中获得漂亮的平滑颜色条?我想我也可以使用填充轮廓,其中零级可以设置为白色。这里是生成这个例子的代码:fromnumpyimportlinspace,outer,expfrommatplotlib.pyplotimportfigure,gca,clf,subplots_adjust,subplotfrommatplotlib.pyplotimportconto
我想提取图像的轮廓,我正在尝试使用MatplotLib的轮廓函数来实现。这是我的代码:fromPILimportImagefrompylabimport*#readimagetoarrayim=array(Image.open('HOJA.jpg').convert('L'))#createanewfigurefigure()#showcontourswithoriginupperleftcornercontour(im,origin='image')axis('equal')show()这是我的原始图片:这是我的结果:但我只想展示外部轮廓,轮廓。只是本例中的读取行。我该怎么做?我阅读
我正在尝试从照片中识别卡片。我设法在理想的照片上做了我想做的事,但我现在很难在光线等略有不同的情况下应用相同的程序。所以问题是如何使以下轮廓检测更加稳健。我需要分享我的大部分代码,以便接受者能够制作感兴趣的图像,但我的问题仅与最后一个block和图像有关。importnumpyasnpimportcv2frommatplotlibimportpyplotaspltfrommpl_toolkits.axes_grid1importImageGridimportmathimg=cv2.imread('image.png')img=cv2.cvtColor(frame,cv2.COLOR_B
我正在尝试在图像中查找具有圆角的矩形对象的轮廓。我尝试了HoughLinesP和findContours,但没有达到预期的结果。我想找到这样的矩形:代码:importcv2importmatplotlib.pyplotaspltimportutilimage=cv2.imread("./img/findrect0.png",1)gray=util.grayImage(image)edges=cv2.Canny(image,50,200)lines=cv2.HoughLinesP(edges,1,cv2.cv.CV_PI/180,50,minLineLength=50,maxLineGa
如何使用Python和Matplotlib将一个子图的视觉宽度设置为等于另一个子图的宽度?第一个图具有固定的纵横比和来自imshow的方形像素。然后我想在其下方放置一个线图,但我无法这样做并使所有内容对齐。我相当确定解决方案涉及关于此TransformTutorial的信息页。我试过使用fig.transFigure、ax.transAxes、ax.transData等,但没有成功。我需要在上面板中找到轴的宽度和高度以及偏移量,然后能够在下面板中设置轴的宽度、高度和偏移量。不应包含轴标签和刻度等或更改对齐方式。例如下面的代码fig=plt.figure(1)fig.clf()data=
我想在大于某个阈值的区域的每个闭合轮廓周围绘制一个边界框,而不仅仅是最大的轮廓。我该怎么做呢?到目前为止,这是我尝试过的:contours,_=cv2.findContours(thresh,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)forcincontours:rect=cv2.boundingRect(c)ifrect[2] 最佳答案 请记住,您的缩进级别在Python中很重要。还值得注意的是,您的代码不一定要在最大轮廓周围绘制一个框,它会在contours的最后一个元素周围绘制一个框。幸运的是