Поворот патча изображения 4х4 на 15 градусов - PullRequest
1 голос
/ 29 октября 2019

Я хочу найти эффективный способ поворота патчей изображения 4x4 из большего изображения на углы, кратные 15. Я сейчас извлекаю патч 6x6, например, patch=img[x-3:x+3,y-3:y+3], а затем запускаю scipy.ndimage.interpolation.rotate(patch,-15*o,reshape=False)[1:5,1:5]. Тем не менее, мне необходимо сделать это в любом месте (x,y) на изображении. У меня есть «сложенная» версия изображения с массивом размером (m,n,6,6), где m и n - размеры исходного изображения. Даже если запустить interpolation.rotate для стековой версии, похоже, что внутри она просто делает это итеративно, и это занимает много времени.

Поскольку мне нужно делать это только под фиксированными углами, я пытаюсь предварительновычислить некоторые константы и векторизовать реализацию, чтобы я мог обработать их все сразу. Я попытался покопаться в реализации SciPy rotate, но это не сильно помогло.

Есть ли разумный способ сделать это?

...