I've never trained any DNN model (I think some forum members have). But there's plenty of high-level online tools which I guess can produce the needed files to be used with jOpenCV's DNN module.
Alternatively, if you have a way to isolate the individual characters by whichever means, then you could use a Machine Learning (ML) approach. ML is, somehow, the predecessor of NN, but still very useful and faster for certain tasks.
In the past I used KNN (included in jOpenCV), training it with several symbols to do a SUDOKU solver and it worked really well, but the symbols were much clearer than in the pictures that you provided.
As a hint, normalize all the samples to a given size, binarize the them and work with HOG (histogram of Oriented Gradients) instead of the pixels to train the KNN.
There's plenty of documentation and example code about it. Since you have already used jOpenCV, translation should not be a problem
Whichever method you use, DNN or Machine Learning, you'll need several, if not many, picture samples of each different symbol in order to correctly train the model.