gpt4 book ai didi

python - OpenCV Python cv2.connectedComponentsWithStats

转载 作者:行者123 更新时间:2023-12-03 09:42:53 27 4
gpt4 key购买 nike

您是否必须通过设计cv2.connectedComponentsWithStats黑底白字图像与白底黑字图像相反?做一个和另一个我得到不同的结果。

示例代码:

import os
import cv2

root = r'pth/to/img'
fl = r'img.png'

src = os.path.join( root, fl )

img = cv2.imread( src, 0 )
img_inv = cv2.bitwise_not( img )

cv2.imshow( 'Black-on-White', img )
cv2.waitKey(0)

cv2.imshow( 'White-on-Black', img_inv )
cv2.waitKey(0)

bw_nlbls, bw_lbls, bw_stats, _ = cv2.connectedComponentsWithStats( img )
wb_nlbls, wb_lbsl, wb_stats, _ = cv2.connectedComponentsWithStats( img_inv )

bw = 'Black-On-White'
wb = 'White-On-Black'

print( bw )
print( '-'*len(bw) )
print()
print('Number of Components: ', bw_nlbls)
print()
print( wb )
print( '-'*len(wb) )
print()
print('Number of Components: ', wb_nlbls)

输出:

黑白
ImageBW

黑底白字
ImageWB
Black-On-White
--------------

Number of Components: 3

White-On-Black
--------------

Number of Components: 6

我假设输出:
  • 对于黑白图像,黑色为背景,白色为前景,3 个分量分别为背景、数字周围的白色和数字 4 内的白色。
  • 对于黑白图像,黑色仍然是背景和白色前景,但现在有 6 个组件(背景和五个数字)。

  • 似乎合乎逻辑,但我们可以将其添加到 future 用户的文档中吗?我们是否可以添加功能以允许用户选择他们想要表示为背景的“颜色”(白色或黑色)?

    最佳答案

    连接组件实际上适用于 background-foreground 属性,其中黑色被视为背景,白色被视为前景。这实际上是一个标准,如果你问我也很自然。如果用户想要进行黑色(背景)区域的连通分量标记,则用户有责任进行适当的反演。

    关于python - OpenCV Python cv2.connectedComponentsWithStats,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48433745/

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