资源简介

在相机成像后基于matlab通过灭点计算,可将二维图像三维还原。

资源截图

代码片段和文件信息

Image = imread(‘锐化后的图片.jpg‘);   %锐化后的图片见附录1;
Image = im2uint8(rgb2gray(Image));     
dx = [-1 0 1;-1 0 1;-1 0 1];    
Ix2 = filter2(dxImage).^2;     
Iy2 = filter2(dx‘Image).^2;                                           
Ixy = filter2(dxImage).*filter2(dx‘Image);  
h= fspecial(‘gaussian‘22);       
A = filter2(hIx2);         
B = filter2(hIy2);                                   
C = filter2(hIxy);                                    
nrow = size(Image1);                              
ncol = size(Image2);                               
Corner = zeros(nrowncol);  
 t=20;  
 boundary=8;  
 for i=boundary:nrow-boundary+1   
    for j=boundary:ncol-boundary+1  
         nlike=0;  
         if Image(i-1j-1)>Image(ij)-t && Image(i-1j-1)            nlike=nlike+1;  
         end  
         if Image(i-1j)>Image(ij)-t && Image(i-1j)            nlike=nlike+1;  
         end  
         if Image(i-1j+1)>Image(ij)-t && Image(i-1j+1)            nlike=nlike+1;  
         end    
        if Image(ij-1)>Image(ij)-t && Image(ij-1)            nlike=nlike+1;  
         end  
         if Image(ij+1)>Image(ij)-t && Image(ij+1)            nlike=nlike+1;  
         end  
         if Image(i+1j-1)>Image(ij)-t && Image(i+1j-1)            nlike=nlike+1;  
         end  
         if Image(i+1j)>Image(ij)-t && Image(i+1j)            nlike=nlike+1;  
         end  
         if Image(i+1j+1)>Image(ij)-t && Image(i+1j+1)            nlike=nlike+1;  
         end  
         if nlike>=2 && nlike<=6  
             Corner(ij)=1;
         end;  
    

评论

共有 条评论