gpt4 book ai didi

python - 如何找到白色像素 block 的像素位置

转载 作者:行者123 更新时间:2023-12-02 17:45:24 26 4
gpt4 key购买 nike

我设法从这张图片中检测到一个蓝色方 block :

enter image description here

面具只有黑色和白色。我想知道白 block 的位置,即它的中点。

我的问题是:如何检测图片中蓝色方 block 的中点?

我从网上得到以下代码:

# import the necessary packages
import numpy as np
import cv2
def detectColouredObject(FILENAME):
# load the image
image = cv2.imread(FILENAME)

# THE COLOURS ARE IN RGB
lower_blue = np.array([50, 0, 0])
upper_blue = np.array([255, 50, 50])

# loop over the boundaries
# for (lower, upper) in boundaries:
# create NumPy arrays from the boundaries
lower = np.array(lower_blue, dtype = "uint8")
upper = np.array(upper_blue, dtype = "uint8")

# find the colors within the specified boundaries and apply
# the mask
mask = cv2.inRange(image, lower, upper)
maskWidth, maskHeight = mask.shape[:2]

cv2.imshow("mask ", mask)
npImg = np.asarray( mask ) # No copying takes place

coordList = np.argwhere( npImg == 255 )
cv2.imshow("mask1 ", coordList)
print coordList
xmin = np.amin(coordList,axis=0)
xmax = np.amax(coordList,axis=0)
ymax = np.amax(coordList,axis=1)
xStart = xmin[0]
xEnd = xmax[0]

output = cv2.bitwise_and(image, image, mask = mask)
width, height = output.shape[:2]
midpoint = width / 2


# show the images
cv2.imshow("images", np.hstack([image, output]))
cv2.waitKey(0)

谢谢你的帮助

最佳答案

通过阈值化并提出一个漂亮的白色 Blob ,您的想法是正确的,下一步是使用 contours然后 image moment analysis .

系统将像素视为具有“质量”——即白色比黑色重。

有趣的事实:它实际上与在固体中找到(平面)质心的机械过程直接平行 - 但在像素上离散(即求和,而不是积分)

关于python - 如何找到白色像素 block 的像素位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36851362/

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