This work presents image enhancement using DNN (deep neural network). First, we shall discuss an existing approach (presented in IGNATOV et al., 2017), which we used as our starting point. This approach uses two registered datasets, one of low-quality images and one of high-quality images. Afterwards, we will show our solution (based on IGANTOV et al.,2018) which requires no registration between the datasets, and only requires that each dataset will be generated by the same source (same camera). In this document we shall discuss in depth the development of each module of the CNN and the network design process. We tried to improve the system by examining several approaches: changing either the CNN architecture or loss function. The development of this work is divided into two main parts. In the first part we created the modules that are used as the building blocks of the CNN and verified their functionality. In the second part we have tested the full CNN and improved its architecture and loss function. We also describe and explain the theoretical background and present the results.