gpt4 book ai didi

opencv - 嘈杂照片的低对比度线条检测

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:22 24 4
gpt4 key购买 nike

我正在尝试检测屏幕照片或一般嘈杂图像上的低对比度线条。我似乎遇到了两个问题:

  1. 由于屏幕的噪声/暗网格,我无法使用自适应阈值或边缘检测算法可靠地检测到线条。 Blur 似乎有点帮助,但还不足以让它发挥作用。

  2. 当同一条线只有几段可见时(由于噪声、光照条件或其他原因),我想将检测到的线段连接到一条直线上。

     img = cv2.imread("test.jpg")
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    gray=cv2.GaussianBlur(gray,(9,9),0)
    bin = cv2.adaptiveThreshold(gray2, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 33, 3)
    cv2.namedWindow('Test')
    cv2.imshow("Test", bin)

我也尝试过 cv2.Cannycv2.HoughLinesP,但没有很好的结果,因为暗网格把两者都弄乱了。提前致谢!

编辑:我认为带有 THRESH_TRUNCATEDTHRESH_TOZERO 的阈值函数的本地版本可能会有所帮助...过滤掉网格。和高对比度

因为我没有资格发布图片,所以我添加了链接。带有低对比度线条的图像:

enter image description here

检测到的线:

enter image description here

最佳答案

在足够大的窗口(比如 11x11)上运行中值滤波器,然后减去平均(或略低于平均)图像强度将使线条更容易检测。

关于opencv - 嘈杂照片的低对比度线条检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16961010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com