Как использовать объект Pytorch Tensor в Opencv без конвертации в массив numpy? - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь разработать приложение для обнаружения текста с Pytorch и Opencv в Python. Я могу использовать тензор Pytorch с Opencv, как показано ниже.

val = y[0,:,:,0].data.cpu().numpy()
cv2.threshold(val , 0.4, 1, 0)

Но это занимает много времени. Мне нужно сделать эту операцию с помощью тензорного объекта. Как я могу это сделать?

1 Ответ

3 голосов
/ 07 января 2020

Учитывая, что последний 0 в вашем пороговом вызове означает cv.THRESH_BINARY, он следует этой функции:

enter image description here

Поскольку ваш maxval установлен в 1, вы можете заменить этот пороговый вызов чем-то вроде этого:

(y[0,:,:,0] > 0.4).float()

Я использую Float, но вы можете изменить это, когда вы sh из c. Или даже что-то вроде:

(y[0,:,:,0] > 0.4).to(dtype=y.dtype)

, чтобы он оставался с тем же типом данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...