2015-10-16 63 views
0

林試圖使變焦而不使用interpolation techniques,這樣我必須:數碼變焦在MATLAB(平均相鄰的奇數行和列)

  1. 由2
  2. 顯示縮小圖像的尺寸僅奇數行和列,i中的矩陣的大小減小到一半(矩陣C)

我已用下面的代碼來完成這一切:

A = imread ('image.jpg'); 
    [M, N, L] = size(A); 
    C = zeros(M/2, N/2, L); 
    j = M; 
    for x = 1: 1: M/2 
     for y = 1: 1 : N/2 
      for z = 1: 1: L 
       C(x,y,z) = A(((x*2)-1),((y*2)-1),z); 
      end 
     end 
    end 

    C = uint8(C); 
    figure 
    image(C); 

但是知道爲了填補空虛和做數碼變焦,我需要用奇相鄰行(和列)

步驟的總和來填充全部空隙:

  1. 原創行[1,1] [1,2] [1,3]
  2. After code [1,1] [0,0] [1,3]
  3. After digital zoom [1,1] [([ 1,1] + [1,3])/ 2] [1,3]

這個wa yi平均奇數行的兩邊,相鄰並將它們除以2,通過留下相鄰向量的平均總和,我可以做一個放大,但是我還沒有找到在我的第3步自己的代碼,通過採取矩陣中的每個元素(指數),而不是在這個過程中

任何幫助,非常感謝

回答

0

如果你的意思是說,你需要修改的圖像數據,但不能失去失去他們原始值,那麼您只需創建一個新的臨時變量,該變量初始化爲原始圖像的副本。然後使用原始圖像中的數據計算新值,但在新臨時變量中更新它們。一旦你完成了這個過程,你可以用臨時變量替換原始圖像。