2012-04-21 22 views
4

低解像度画像から高解像度画像を取得する必要があります。これは補間法を用いて達成することができる。私はmatlab imresizeinterp2の関数は、タスクを実行します知っているが、私は組み込み関数を使用せずにコードを記述する必要があります。私は双線形補間がどのように機能するのか理解していますが、私のコードでそれをまとめているようには見えません。私はどんな助けや提案にも感謝します。ここでMatlabを使用して双線形補間を実行する方法

は、これまでの私のコードです:

clear all; close all; clc; 

input_im=imread('superman.png'); 
im=rgb2gray(input_im); 
%subplot(1,2,1), imshow(input_im), title('Original Image'); 
%subplot(1,2,2), imshow(im), title('Gray Scale Input Image'); 

[m,n]=size(im); %obtain the size of gray scale image 
S = input(' Now Enter Value : '); 
Scale1 = floor(S); 
Scale2 = floor(S); 
scale = [Scale1, Scale2]; 

Oim=size(im); 
Nim=max(floor(scale.*Oim(1:1)),1); 

for i=1:Nim-1 
    for j=1:Nim-1 

     Q11= 
     Q21= 
     Q12= 
     Q22= 
     R1=((x2-x)/(x2-x1))*Q11+((x-x1)/(x2-x1))*Q21; 
     R2=((x2-x)/(x2-x1))*Q12+((x-x1)/(x2-x1))*Q22; 
     P=((y2-y)/(y2-y1))*R1+((y-y1)/(y2-y1))*R2; 
    end 
end 
+1

matlabの変数名として 'i'と' j'を使用しないのがベストです(http://stackoverflow.com/questions/14790740/using-i--j-as-variables-in- matlab) – Shai

答えて

-1

interp2の背後にあるコードが入手可能です。コマンドウィンドウに>> edit interp2と書いて、どのように実装しているのかチェックすることができます。

関連する問題