Image interpolation is used widely in the computer vision. Holding edge information is main problem in the image interpolation. By using bilinear and bicubic B-spline interpolation methods, a novel image interpolation approach was proposed in this paper. Firstly, inverse distance weighted average method was used to reduce image’s noise. Secondly, edge detection operator was used to extract image's edges information. It can help us to select different interpolation methods in the image interpolation process. Finally, we selected bilinear interpolation approach at non-edge regions, and bicubic B-spline interpolation method was used near edges regions. Further more, control vertexes were computed from pixels with calculation formula which has been simplified in the B-spline interpolation process. Experiments showed the interpolated image by the proposed method had good vision results for it could hold image's edge information effectively.