A new camera self-calibration approach is presented by considering the relative lengths of the scene. There exists a homographic matrix whose elements partly depend on the intrinsic parameters to upgrade the projective reconstruction to the metric one. Relative length is an invariant property of the similarity transformation. An error function according to the invariance of relative lengths is formulated. Hence, camera calibration and 3D structure recovery can be achieved by minimizing the error function. For the homographic matrix is uniquely determined by every views of the scene, the proposed method can effectively deal with the case with varying intrinsic parameters of camera. In addition, the complete 3D recover procedures based on relative lengths are put forth. An experiment is implemented to demonstrate the validity and the performance of the presented approach. The results show that it is accurate and the accuracy of the proposed method is obviously improved compared with the Bougnouxs methods.