如何在OpenCV Python中检测图像中的空白?

我有一张图片:

如何在OpenCV Python中检测图像中的空白?

我必须检测它们之间的空白,并基本上将其分成两部分,像这样-

如何在OpenCV Python中检测图像中的空白?

这是我到目前为止编写的代码...但是它确实只检测到黑线,而不检测中间的白色区域。

import numpy as np
import cv2

img = cv2.imread('12.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,50,150,apertureSize = 3)
median = cv2.medianBlur(gray,5)
minLineLength = 250
maxLineGap = 100
lines = cv2.HoughLinesP(edges,0.3,np.pi/180,250,minLineLength,maxLineGap)
for line in lines:
    x1,y1,x2,y2 =line[0]
    cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)

cv2.imwrite('newwhite.png',img)
iCMS 回答:如何在OpenCV Python中检测图像中的空白?

基于轴向平均值,我有一个简单的解决方案。我更喜欢scikit-image而不是opencv,但是您可以使用cv2。

g++

然后每个峰在图像的一维上代表一条白线

本文链接:https://www.f2er.com/1995599.html

大家都在问