У меня есть массив замаскированных массивов, и я хочу вычислить лапласианскую дисперсию маскированного массива. Я могу легко сделать это для немаскированного / нормального массива, но не знаю, как это сделать для маскированного.
Не могли бы вы сообщить мне, как я могу вычислить лапласиан на массиве с масками в маске? Может быть, у Сципи или другой библиотеки есть способ сделать это?
Приведенный ниже код предназначен для вычисления лапласиана, а затем для нормального массива:
roi1_var = cv2.Laplacian(sample1,cv2.CV_64F).var()
roi2_var = cv2.Laplacian(sample2,cv2.CV_64F).var()
var_diff = abs(roi1_var - roi2_var)
Вот мой массив масок, который мне нужен для вычисления лапласиана, а затем дисперсия:
mask = np.ones((src.shape[0], src.shape[1], 3), dtype='uint8')
cv2.drawContours(mask, [np.array(poly)], -1, (0,0,0), -1)
msrc = np.ma.array(src, mask=mask)
# The following will not consider the mask will it?
variance = cv2.Laplacian(msrc ,cv2.CV_64F).var()