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

2024-09-27 07:35:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像this这样的原始图像,我想稍后分割此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)

出来的result太吵了,我想,我很困惑,有比这个更好的解决方案吗?谢谢


Tags: 图像cropvalthis字符widthcv2hsv
1条回答
网友
1楼 · 发布于 2024-09-27 07:35:58

我建议不要在这里使用cv2.adaptiveThreshold,而是使用简单的颜色分割,使用它可以轻松地分割出输入图像中的黑色和红色噪声元素

import cv2
import numpy as np

original_image = cv2.imread("/path/to/img.jpg")

mask = cv2.inRange(original_image, np.array([210, 210, 210]), np.array([255, 255, 255]))

enter image description here

您可以通过试验各种颜色域(如HSV等)进一步优化结果,这将使您对颜色阈值边界进行更精细的控制

相关问题 更多 >

    热门问题