Image getting completely white on downsampling
When you open an image using imread, you get the image as a uint8 matrix with grayscale (or color) values of 0-255. However, filtering is no possible for this type. Therefore, filter2 converts your image to double.
The function imshow accepts both uint8 and double type. When the input is uint8 it also assumes color values of 0-255. But, when the input is double, it assumes the values are normalised to the range of 0-1. Therefore you should tell imshow that although your input is of type double it has color values of 0-255 by using

imshow(down1,[0 255]);