草庐IT

OpenCV-Python学习(13)—— OpenCV 多边形填充与绘制(cv.fillPoly、cv.polylines)

1.知识点学习cv.polylines函数的使用;学习cv.fillPoly函数的使用。2.绘制折线或多边形cv.polylines函数说明2.1函数使用cv.polylines(img,pts,isClosed,color[,thickness[,lineType[,shift]]])→img2.2参数说明参数说明img表示要在其上绘制矩形的图像的img对象。pts表示一个或多个点集。isClosed表示标志,决定所绘制的多边形是否闭合。若为True,则画若干个闭合多边形;若为False,则画一条连接所有点的折线。color表示颜色。thickness表示线宽,注意:必须大于0。lineTy

Python 的 OpenCV cv2.imread 总是返回 None 并且 cvFeatDetector 使 python 崩溃

我正在尝试使用python中的opencv,我认为加载图像是一个不错的起点。我已经在我的系统上构建了opencv,并且在与我的项目相关的目录tpl/opencv中有python绑定(bind)和opencvdll。下面是一些演示问题的代码:fromtpl.opencvimportcv2fromtpl.opencv.cv2importcvfromPILimportImagepil_img=Image.open('C:/test_file.jpg')#Readatempfile,theinputisactuallyacomputedimagechiptmpname='C:/tmp.png'

python - 从周围的边界框提取车牌平行四边形?

因此,我训练了一个对象识别神经网络(YOLOv3)来检测以各种倾斜和直角拍摄的汽车图片牌照周围的边界框,并且该网络非常可靠地完成了这项工作。但是,现在我想利用图像处理从包围它的边界框中提取车牌平行四边形,无需训练另一个神经网络即可执行此操作。示例图片:我曾尝试使用OpenCV内置函数执行边缘和轮廓检测,如下面的最小代码所示,但仅通过这种方式在一小部分图像上成功:importcv2importmatplotlib.pyplotaspltimportnumpyasnpdefauto_canny(image,sigma=0.25):#computethemedianofthesinglech

python - 如何获得 cv2.CascadeClassifier.detectMultiScale() 的分数?

当使用Python时,openCV函数cv.HaarDetectObjects()返回找到的对象以及检测分数。如果我改为使用opencv2函数,cv2.CascadeClassifier.detectMultiScale()我得到了检测到的对象,但没有得分。这使得很难获得良好的检测“置信度”度量。有没有办法使用CV2以某种方式获得它? 最佳答案 根据documentationcv2.CascadeClassifier.detectMultiScale(image,rejectLevels,levelWeights[,scaleFac

python - 需要通过OpenCV Python检测书籍

看,我一直在尝试检测书架中的书籍:我使用轮廓作为边界框。但是,我只想捕获实际书籍对象。如果我降低Canny的阈值,它不会自己检测书的边缘,但会检测书名或书脊中的一些图像。我使用了houghlines,它可以很好地检测书本边缘。我如何应用边界框但使用houghlines而不是等高线?我用于轮廓查找的代码:edges=cv2.Canny(blur,thresh,thresh*2)drawing=np.zeros(img.shape,np.uint8)contours,hierarchy=cv2.findContours(edges,cv2.RETR_TREE,cv2.CHAIN_APPRO

python - Python 中的 OpenCV findContours

我在openCV3.0上使用python工作。为了找到最大的白色像素区域,首先将灰度图像阈值化为二值图像。importcv2importnumpyasnpimg=cv2.imread('graimage.png')img=cv2.resize(img,(400,500))gray=img.copy()(thresh,im_bw)=cv2.threshold(img,0,255,cv2.THRESH_BINARY)derp,contours,hierarchy=cv2.findContours(im_bw,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)cnt

python - cv2.imshow() 崩溃内核

我正在通过JupyterNotebooks运行OpenCV,每当我尝试运行cv2.imshow()时,内核都会崩溃,没有错误消息或有用的提示-只是一个普通的TheKernelappearstohavedied.Itwillrestartautomatically.这是我正在运行的代码...importcv2input=cv2.imread('images/input.jpg')cv2.imshow('HelloWorld',input)cv2.waitKey(0)cv2.destroyAllWindows()当我运行以下代码时,代码有效(尽管有所不同)...%matplotlibinl

python - 最新稳定的 Debian 上的 Python OpenCV 中没有 cv.Point

尝试使用cv.Circle在图像上绘制圆时,我意识到在PythonOpenCV中没有用于创建cvPoint的cv.Point函数。我使用的是最新稳定版的Debian,我使用Synaptic安装了所有PythonOpenCV包。如何创建与cv.Circle函数一起使用的cvPoint? 最佳答案 使用元组。这是实心绿色圆圈的示例:cv2.circle(img,(x1,y1),3,(0,255,0),-1) 关于python-最新稳定的Debian上的PythonOpenCV中没有cv.Po

python - 在给定大小区域轮廓周围绘制边界框

我想在大于某个阈值的区域的每个闭合轮廓周围绘制一个边界框,而不仅仅是最大的轮廓。我该怎么做呢?到目前为止,这是我尝试过的:contours,_=cv2.findContours(thresh,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)forcincontours:rect=cv2.boundingRect(c)ifrect[2] 最佳答案 请记住,您的缩进级别在Python中很重要。还值得注意的是,您的代码不一定要在最大轮廓周围绘制一个框,它会在contours的最后一个元素周围绘制一个框。幸运的是

python - 如何使用 PIL 库查找子图像?

我想使用PIL库从大图像中找到子图像。我也想知道找到它的坐标? 最佳答案 importcv2importnumpyasnpimage=cv2.imread("Large.png")template=cv2.imread("small.png")result=cv2.matchTemplate(image,template,cv2.TM_CCOEFF_NORMED)printnp.unravel_index(result.argmax(),result.shape)这对我来说效果很好,而且效率很高。