Как повернуть изображение на ближайшую соседнюю интерполяцию Используя Matlab

Я в настоящее время использую S3 для видео хостинга, и я люблю его. Если Вы используете.NET, дают себе немного времени выполнения заказа для получения настроек, интегрированных в сайте. Я был бы высоко reccomend их сервисы.

единственная вещь, которую я нашел грубо, состояла в том, что необходимо было потратить> 100 для получения серебряного уровня обслуживания, наш сайт будет тратить так много в конечном счете, но мы еще даже не в бета-версии. У меня не было вопроса, я просто хотел видеть то, на что была похожа их поддержка.

поддержка была большой, и очень полезной, однако мне понравится быть в состоянии задать некоторые вопросы, не имея необходимость входить в мой карман (скорее карман босса)

, О, я не столкнулся ни с какими проблемами лицензии.

Сравнительно, за деньги, я выбрал бы S3 выше других услуг хостинга, потому что их досягаемость так обширна и стандартная цена это настолько низко.

12
задан MeadowMuffins 28 November 2009 в 02:48
поделиться

3 ответа

Чтобы повернуть изображение без черных пятен, вам нужно пойти в обратном направлении.

Обратное к матрица вращения - это транспонированная матрица. Кроме того, повернутое изображение всегда больше с максимальным поворотом на 45 градусов. Следовательно, фактор sqrt (2)

im1 = imread('lena.jpg');imshow(im1);  
[m,n,p]=size(im1);
thet = rand(1);
mm = m*sqrt(2);
nn = n*sqrt(2);
for t=1:mm
   for s=1:nn
      i = uint16((t-mm/2)*cos(thet)+(s-nn/2)*sin(thet)+m/2);
      j = uint16(-(t-mm/2)*sin(thet)+(s-nn/2)*cos(thet)+n/2);
      if i>0 && j>0 && i<=m && j<=n           
         im2(t,s,:)=im1(i,j,:);
      end
   end
end
figure;
imshow(im2);
11
ответ дан 2 December 2019 в 19:54
поделиться

Я помню предыдущий вопрос о SO, в котором была аналогичная проблема.

Моя идея заключалась в том, чтобы отображать пиксели в противоположном направлении; для каждого пикселя повернутого изображения найдите пиксель (ы), который соответствует ему в исходном изображении, тогда проблема становится намного проще.

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

6
ответ дан 2 December 2019 в 19:54
поделиться

После того, как у вас есть все преобразованные пиксели, вы можете заполнить черные пятна с помощью griddata , который учитывает неравномерное пространственное распределение пикселей (ваши повернутые пиксели) и интерполирует требуемые пиксели (ваши черные точки) с использованием линейных, кубических или ближайших соседей .

0
ответ дан 2 December 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: