我正在嘗試提取二值影像的坐標(x,y)。我需要白色蒙版的頂部、底部、左右(x,y)點,我猜這是多邊形。如下圖所示,如何取出積分?
圖片:

import cv2
import numpy as np
# read image
img = cv2.imread('white_blob.png')
# Method 1: bounding rect
# threshold on white
lower =(255,255,255)
upper = (255,255,255)
thresh = cv2.inRange(img, lower, upper)
# get points
points = np.column_stack(np.where(thresh.transpose() > 0))
x,y,w,h = cv2.boundingRect(points)
print(x,y,w,h)
min = (x,y)
max = (x w-1,y h-1)
print("min:", min)
print("max:", max)
# Method 2: Numpy
(Note: Numpy coordinates are y,x. So need to rearrange)
a = np.where(img != 0)
x1,y1,x2,y2 = np.min(a[1]), np.min(a[0]), np.max(a[1]), np.max(a[0])
min = (x1,y1)
max = (x2,y2)
print("min:", min)
print("max:", max)
兩種方法都產生 (x,y):
min: (0, 293)
max: (127, 363)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510775.html
上一篇:Android權限詢問
