- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 OpenCV 和 Python 获取图像中的最大区域,代码如下:
#Loading image:
fuente=cv.LoadImage('train/fruit1.jpg')
#Converting to grayscale...
#Converting to binary...
#Apply canny method...
#Dilating borders...
#Trying obtain contours:
storage = cv.CreateMemStorage(0)
contours = cv.FindContours(bordes, storage, cv.CV_RETR_EXTERNAL, cv.CV_CHAIN_APPROX_SIMPLE,(0,0))
#Drawing Contours...
contornoimg=cv.CreateImage(cv.GetSize(fuente),fuente.depth,1)
cv.DrawContours(contornoimg,contours,cv.Scalar(255),cv.Scalar(0),2,1,8,(0,0));
cv.SaveImage("train/contornos.png",contornoimg);
如果现在我打开图像“contornos.png”,我可以看到不同的轮廓,而不仅仅是一个,就像我想要最大的轮廓,我必须计算面积最大的轮廓
max_area = -1
best_cnt = None
for cnt in contours:
area = cv.ContourArea(cnt,slice=cv.CV_WHOLE_SEQ)
if area > max_area:
max_area = area
best_cnt = cnt
但是当我执行文件时,得到这个错误信息:
cv.ContourArea(cnt,cv.CV_WHOLE_SEQ)->AttributeError: 'module' object has no attribute 'CV_WHOLE_SEQ'
有什么帮助吗?谢谢大家!
最佳答案
我用这个:
导入cv2
面积 = cv2.contourArea(cnt)
我在这里找到了它: http://opencvpython.blogspot.ru/2012/04/contour-features.html
关于python - 提取 contourArea opencv 的问题(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212129/
使用 cv::Canny() 后,图像中似乎出现了一些非闭合曲线。所以我的问题是, cv::ContourArea() 将如何处理它们?先关闭曲线来计算面积还是忽略它们? 最佳答案 来自 Contou
当我尝试启动我的应用程序时,它在执行 contourArea 时意外崩溃。 这里是错误: OpenCV Error: Assertion Failed (contour.checkVector(2)
我想做的是在夜间地球的照片中找到大面积的光污染区域。我将源照片转换为灰度,然后转换为具有阈值的二值照片。 cv2.findcontours 工作正常,但当我尝试去除小轮廓时,它只会删除其中的一部分。
我是 OpenCV 的新手,有一个小问题,可能很容易解决。基本上我在做一些基本的图像处理,我试图找到 contourArea() = 0 && (contour.depth() == CV_32F |
我正在尝试测量等高线的长度: 绿线是在轮廓上计算的 HoughLineP。通过计算绿线上的欧氏距离,我得到 153.88。然而,轮廓上的 arcLength() 给出了 364.71,而它应该比 Ho
documentation for cv.contourArea 表示,如果oriented为true,则返回值将为正值或负值,具体取决于轮廓的方向: oriented: Oriented area
我正在尝试使用 OpenCV 和 Python 获取图像中的最大区域,代码如下: #Loading image: fuente=cv.LoadImage('train/fruit1.jpg') #Co
如何根据等高线区域的大小对等高线进行排序?我怎样才能得到最大/最小的? 最佳答案 您可以使用 std::sort使用自定义比较函数对象 // comparison function object bo
如果我有一个 3x3 二值图像,并且位置 (x,y) 中有一个轮廓:(0,0), (0,1), (1,0), (1,1) 我通过 findContours 方法获取轮廓。 我想得到这个轮廓的面积: 计
我尝试根据生成的船体点计算船体面积凸包()。 我关注了OpenCV Python tutorial (因为没有 Java 教程)并摆弄代码完成。 这是代码: Imgproc.findContours(
我试图在二值化图像中找到最大的轮廓。根据 this question 判断和 this tutorial你会认为这是微不足道的,我同意。当我在 the image below 上运行我的代码时但是,它
我的目标是使用 HOG 描述符识别汽车标志。我正在关注教程链接 https://gurus.pyimagesearch.com/lesson-sample-histogram-of-oriented-
当我尝试运行以下代码时: img = cv2.imread('index4.jpg',0) ret,thresh = cv2.threshold(img,127,255,0) ret,thresh =
我正在尝试使用代码阅读多项选择测试反馈中的答案,但出现以下错误消息: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F |
我是一名优秀的程序员,十分优秀!