猿问

如何从python OpenCV阈值中获得更好的结果?

我有一个这样的原始图像,我想稍后分割这个lisence板上的每个字符,我在用以下代码分割每个字符之前使用高斯阈值来转换板:


Val_hsv = cv2.split(cv2.cvtColor(crop_frame, cv2.COLOR_BGR2HSV))[1]

    adaptive_tresh = threshold_local(Val_hsv, 29, offset=9, method="gaussian")

    thresh = (Val_hsv > adaptive_tresh).astype("uint8") * 255

    thresh = cv2.bitwise_not(thresh)


    crop_frame = imutils.resize(crop_frame, width=400)

    thresh = imutils.resize(thresh, width=400)

    cv2.imshow("Threshold plate", thresh)

结果出来的结果是太多的噪音,我想,我很困惑,有什么比这更好的结果的解决方案吗?谢谢


一只甜甜圈
浏览 96回答 1
1回答

料青山看我应如是

我建议不要在这里使用简单的颜色分割,使用它可以轻松分割出输入图像中的黑色和红色杂色元素。cv2.adaptiveThresholdimport cv2import numpy as nporiginal_image = cv2.imread("/path/to/img.jpg")mask = cv2.inRange(original_image, np.array([210, 210, 210]), np.array([255, 255, 255]))您可以通过试验各种颜色域(如HSV等)来进一步优化结果,这将使您对颜色阈值边界进行更精细的控制。
随时随地看视频慕课网APP

相关分类

Python
我要回答