Я пытаюсь извлечь объекты из изображения, вычислив минимум данного окна вокруг изображения и вычитая его из исходного значения пикселя. Однако это происходит очень медленно, так как я повторяю всю картину. Есть ли оптимизированный способ сделать это?OpenCV: Как рассчитать минимальное значение для окна вокруг центрального пикселя?
f = np.asarray(img.shape)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
if mask[i][j]==255:
row,col = i,j
begin_row = row - 4
end_row = row + 4
begin_col = col - 4
end_col = col + 4
if begin_row < 0:
begin_row = 0
if begin_col < 0:
begin_col = 0
if end_col > img.shape[1]:
end_col = img.shape[1]
if end_row > img.shape[0]:
end_row = img.shape[0]
window = img[begin_row:end_row, begin_col:end_col]
curr = img.item(row, col)
f.itemset((row, col), curr - window.min())
использовать 'cv2.minMaxLoc' с вашей маской в качестве параметра входной маски – Micka