Использование интерполяции в изображении - PullRequest
0 голосов
/ 12 ноября 2018

Я конвертирую код Python в MATLAB, который читает изображение и выполняет линейную интерполяцию. Я не понимаю эту часть:

temp = [0,0,0] // is temp a 3d matrix with zeros??
for k in range (3) :
    temp [k] = temp[k]+(x−int(x))∗(y−int(y)) ∗(im[int(y+1), int(x+1)] [k]) // im is variable for the input image. what about k??
    temp [k] = temp[k]+(1.0−(x−int(x)))∗(1.0−(y−int(y)))∗(im[int(y), int(x)][k])
new_image[j,i] = temp // why new_image has only two coordinates??

Кто-нибудь даст мне подсказку о том, что (im[int(y+1) , int (x+1)] [k]) и new_image[j,i] = temp означают?

1 Ответ

0 голосов
/ 12 ноября 2018

im[int(y+1) , int (x+1)] [k] этот код, кажется, получает пиксель в позиции y+1, x+1, а затем получает канал k, поэтому, если это изображение RGB и k =0, тогда он будет захватывать красный канал. Затем new_image[l,i] = temp просто устанавливает результат интерполяции для выходного изображения, так как temp - это всего 1 пиксель с 3 каналами.

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