如何分割彩色线条?
How can I segment a colored line?
我正在尝试分割这张图片的蓝线和黑线。
original image
但我无法单独分割它们(使用 Java 中的 OpenCV 库),结果是:
binarized image
我试过这个功能:
mgproc.threshold(imgGray, imgThreshold, 0, 255, Imgproc.THRESH_BINARY + Imgproc.THRESH_OTSU);
How can I segment the blue and black lines separately using the OpenCV library?
如果给定了线条的颜色,您可以定义颜色范围并过滤图像。
这是一个示例代码(不是我的;取自该网站:https://pythonprogramming.net/color-filter-python-opencv-tutorial/)
lower_red = np.array([30,150,50])
upper_red = np.array([255,255,180])
mask = cv2.inRange(hsv, lower_red, upper_red)
res = cv2.bitwise_and(frame,frame, mask= mask)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
尝试使用 adaptiveThreshold
,并根据您的需要进行调整。
// Adaptive Threshold
Imgproc.adaptiveThreshold(test_image, test_image, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C,
Imgproc.THRESH_BINARY_INV, 15,2);
查看更多Javaexamples
我正在尝试分割这张图片的蓝线和黑线。
original image
但我无法单独分割它们(使用 Java 中的 OpenCV 库),结果是:
binarized image
我试过这个功能:
mgproc.threshold(imgGray, imgThreshold, 0, 255, Imgproc.THRESH_BINARY + Imgproc.THRESH_OTSU);
How can I segment the blue and black lines separately using the OpenCV library?
如果给定了线条的颜色,您可以定义颜色范围并过滤图像。
这是一个示例代码(不是我的;取自该网站:https://pythonprogramming.net/color-filter-python-opencv-tutorial/)
lower_red = np.array([30,150,50])
upper_red = np.array([255,255,180])
mask = cv2.inRange(hsv, lower_red, upper_red)
res = cv2.bitwise_and(frame,frame, mask= mask)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
尝试使用 adaptiveThreshold
,并根据您的需要进行调整。
// Adaptive Threshold
Imgproc.adaptiveThreshold(test_image, test_image, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C,
Imgproc.THRESH_BINARY_INV, 15,2);
查看更多Javaexamples