MATLAB supports two standard methods for corner detection. Harris and MinimumEigenvalue ?? What method are you using ?? I would not recommend using the second method. It will not work well here as the image has more variations which will influence the Eigenvalue method's stability. So use the Harris's Corner detection method . Use the following ,
a = imread('door1.jpg');
b = a(:,:,1);
c = corner(b) % The default method used is Harris
imshow(a);
hold on;
plot(c(:,1),c(:,2),'r*');