Добрый день!В настоящее время я конвертирую функцию из MATLAB, которая включает в себя обработку изображений.Прямо сейчас я должен обработать изображение, используя функцию 'canny'.И теперь я получаю 'ValueError: операнды не могут быть переданы вместе с фигурами' на строку
X = (h + (d1 + d2) / 2.0) * xscaling
, потому что 'h' - единственный, который возвращает другой кортежsize
h = (np.hstack((im[:, 2:cols], np.zeros((rows, 1)))) - np.hstack((np.zeros((rows, 1)), im[:, 1:cols-1])))
v = (np.vstack((im[2:rows,:] , np.zeros((1,cols)))) - np.vstack((np.zeros((1,cols)), im[1:rows-1,:])))
d1 = (np.block([[im[1:rows, 1:cols], np.zeros((rows-1, 1))],
[np.zeros((1, cols))]]) -
np.block([[np.zeros((1, cols))],
[np.zeros((rows-1, 1)), im[:rows-1, :cols-1]]]))
d2 = (np.block([[np.zeros((1, cols))],
[im[:rows-1, 1:cols], np.zeros((rows-1, 1))]]) -
np.block([[np.zeros((rows-1, 1)), im[1:rows, :cols-1]],
[np.zeros((1, cols))]]))
следующие переменные возвращают значения (np.shape ()):
h = (112L, 127L)
v =(111L, 128L)
d1 = (112L, 128L)
d2 = (112L, 128L)
Состав переменной hвычисление? Может кто-нибудь, пожалуйста, изменить , чтобы он выглядел одинаково с остальными переменными?
РЕДАКТИРОВАТЬ: ПЕРЕМЕННОЕ Значение 'v' было (111L, 128L) нет (112L, 128L)