草庐IT

contours_poly

全部标签

c++ - 轮廓 opencv : How to eliminate small contours in a binary image

我目前从事图像处理项目。我在VC++中使用Opencv2.3.1。我编写了这样的代码,将输入图像过滤为仅蓝色并转换为二值图像。二值图像有一些我不想要的小物体。我想消除那些小物体,所以我使用openCV的cvFindContours()方法来检测二值图像中的轮廓。但问题是我无法消除图像输出中的小物体。我使用了cvContourArea()函数,但是没有正常工作..,腐eclipse函数也没有正常工作。所以请有人帮我解决这个问题..我得到的二值图像:我想要得到的结果/输出图像: 最佳答案 好的,我相信您的问题可以用thebounding

python - OpenCV TypeError : contour is not a numpy array, 既不是标量

我正在尝试使用OpenCV从Nike图像中提取标签。这是一个教程代码,取自:http://opencv-code.com/tutorials/ocr-ing-nikes-new-rsvp-program/虽然我修改了几行代码,但那部分没有错误(不确定它是否有效,因为我还没有能够成功地完全运行它。)当我运行命令“pythona.py”时。显示此错误:-Traceback(mostrecentcalllast):File"a.py",line42,inotcnt=[cforcincntifcv2.contourArea(c)a.py:-#!/usr/bin/envpythonimportn

python - 更新用 imshow()、contour() 和 quiver() 制作的图形

我想知道是否可以更新使用contour()完成的轮廓、使用quiver()完成的矢量场以及使用完成的图像code>imshow(),实际上不必再次调用这些函数或创建新图形、轴等。换句话说,是否有可能(人们通常会这样做)更新图形的这些元素无需重新调用例程。我尝试过基于set_array()和pyplot.draw()的解决方案,但我无法使其适用于向量场和等高线图。 最佳答案 好吧,您可以通过在图像上调用.set_data()为imshow执行此操作,然后调用fig.canvas.draw()在图上。与仅调用draw()相比,我没有看到

python - 阻止 pyplot.contour 沿不连续点绘制轮廓

我有一个坐标变换的二维map。每个点的数据是原始坐标系中的轴角,从0到360。我正在尝试使用pyplot.contour来绘制恒定角度的线,例如45度。轮廓沿着两个极点之间的45度角线出现,但轮廓还有一个附加部分沿着0/360不连续点连接两个极点。这形成了一条非常参差不齐的丑陋线条,因为它基本上只是跟踪一侧数字接近0而另一侧数字接近360的像素。例子:这是使用全彩色贴图的图像:您可以看到左侧蓝色/红色曲线的不连续性。一侧是360度,另一侧是0度。绘制等高线时,我得到:请注意,所有等高线都连接两个极点,但即使我没有绘制0度等高线,所有其他等高线也沿着0度不连续点(因为pyplot认为如果

python - matplotlib 中 Poly3DCollection 图的透明度

我正在尝试使用用于Python的出色的Matplotlib包绘制一些对象。这些对象由使用plt.scatter()实现的点和使用Poly3DCollection实现的面片组成。我希望补丁具有轻微的透明度,以便可以看到补丁后面的点和边缘。这里是我已经生成的代码和绘图。似乎我快到了,只是缺少透明度的功能。有趣的是,如果我先绘制Ploy3DCollection,然后绘制scatter点,则可以看到这些点,但看不到边缘。有人对我有什么建议吗?frommatplotlibimportpyplotaspltfrommpl_toolkits.mplot3d.art3dimportPoly3DColl

python - Matplotlib Contour Clabel 位置

我想控制matplotlibclabels在等高线图上的位置,但不使用clabel中的manual=True标志。例如,我想指定一个x坐标,并在通过这条线的点处创建标签。我看到您可以使用get_position()获取各个标签的位置,但我坚持这样做。任何帮助将不胜感激。谢谢! 最佳答案 是的,现在有一种方法可以控制标签位置!https://github.com/matplotlib/matplotlib/pull/642plt.figure()CS=plt.contour(X,Y,Z)manual_locations=[(-1,-1

Python : 2d contour plot from 3 lists : x, y 和 rho?

我在python和matplotlib中有一个简单的问题。我有3个列表:x、y和rho,其中rho[i]在点x[i]、y[i]处具有密度。x和y的所有值都在-1之间。和1.但它们没有特定的顺序。如何制作密度rho(在点x、y处插值)的等高线图(如imshow)。非常感谢。编辑:我使用大型数组:x、y和rho有10,000到1,000,000个元素 最佳答案 您需要插入rho值。没有一种方法可以做到这一点,“最佳”方法完全取决于您应该在插值中加入的先验信息。在我对“黑盒”插值方法进行抨击之前,径向基函数(例如,“薄板样条”是一种特殊类

c++ - "Edge Detection"和 "Image Contours"之间的区别

我正在编写以下代码:#include#include#include#includeusingnamespacestd;usingnamespacecv;Matsrc,grey;intthresh=10;constchar*windowName="Contours";voiddetectContours(int,void*);intmain(){src=imread("C:/Users/Public/Pictures/SamplePictures/Penguins.jpg");//ConverttogreyscalecvtColor(src,grey,CV_BGR2GRAY);//Re

关于 r:geom_contour_filled 调色板

geom_contour_filledcolourpalette我试图运行以下代码,但似乎无法将调色板更改为ColorBrewer的Spectral调色板。想法?123456789101112maya mass=seq(1,10,length.out=10), mois=seq(11,20,length.out=10))%>% expand(mass,mois)%>% mutate(  diff=mois-mass*runif(1) )%>% ggplot(aes(mass,mois,z=diff))+  geom_contour_filled()+  scale_fill_distiller

关于 r:geom_contour_filled 调色板

geom_contour_filledcolourpalette我试图运行以下代码,但似乎无法将调色板更改为ColorBrewer的Spectral调色板。想法?123456789101112maya mass=seq(1,10,length.out=10), mois=seq(11,20,length.out=10))%>% expand(mass,mois)%>% mutate(  diff=mois-mass*runif(1) )%>% ggplot(aes(mass,mois,z=diff))+  geom_contour_filled()+  scale_fill_distiller