Tensorflow / Keras Python CNN
Not sure if your model is too simple, I have used the same number of layers before and had very good results. Guess it depends on many factors, such as the training image dataset, etc. The high accuracy is coming from learning the training data quickly, but the low accuracy means the model you built doesn't apply to the test data, so the model is over-fitting. Some possible causes:

1) not enough training data

2) training images are too similar to each other, but different from the test data

3) model is too complex and does not generalize well
4) etc

Possible fixes:

1) If your training data is too small, you can use public pre-built models (VGGnn, etc) as a starting point. This will work best on models that were built with similar data.

2) If your images are too similar to each other, you can alleviate this by using image augmentation. The keras.preprocessing.image.ImageDataGenerator library is good for this. 
Here is an example on how to use:

https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html

3) If the model is too complex, you can try to simplify by changing filter sizes, or add regularization