user19270: I have a MP4 that I really really want a still from.
I want to make a canvas from that still.
I have access to: Adobe premiere elements 12, ffmpeg and gimp.
I want the still to be the highest resolution and quality possible.
Using one or more of those tools, is there a method that will have higher quality than other methods?

user1950: I doubt there will be much difference in the rendering capabilities between any of the software you list, as long as they play the video correctly. The biggest quality loss has already happened when the video was compressed to mp4. 
Use whatever is easier. This is how you do it with ffmpeg
ffmpeg -i themovie.mp4 -ss 1.23 -t 1 -r 1 -f image2 outputImage.png

where 1.23 is the time in seconds you want to capture. 
How that works is it tells ffmpeg to -ss search to 1.23, then -t 1 means only export 1 second's worth of video, -r 1 means at frame rate 1 frame per second (i.e. export only one frame). If you don't do the -t 1 -r 1 dance it will complain about not being able to export the entire movie as a frame sequence. -f image2 just telss ffmpeg to export as a still frame (it's probably redundant because you're specifying a .png as your output).
Many free, video players like MPV, MPC-HC or VLC can do this from a gui, meaning you can line up the exact frame by eye. They all use high quality video renderers which share a lot of code with ffmpeg. Using one of these, the task would be basically hitting the s key (or whatever) when you find the frame you want.

19270: <p>I have a MP4 that I really really want a still from.
I want to make a canvas from that still.
I have access to: Adobe premiere elements 12, ffmpeg and gimp.
I want the still to be the highest resolution and quality possible.
Using one or more of those tools, is there a method that will have higher quality than other methods?</p>
 1950: <p>I doubt there will be much difference in the rendering capabilities between any of the software you list, as long as they play the video correctly. The biggest quality loss has already happened when the video was compressed to mp4. </p>

<p>Use whatever is easier. This is how you do it with ffmpeg</p>

<pre><code>ffmpeg -i themovie.mp4 -ss 1.23 -t 1 -r 1 -f image2 outputImage.png
</code></pre>

<p>where <code>1.23</code> is the time in seconds you want to capture. </p>

<p><strong>How that works</strong> is it tells ffmpeg to <code>-ss</code> search to 1.23, then <code>-t 1</code> means only export 1 second's worth of video, <code>-r 1</code> means at frame rate 1 frame per second (i.e. export only one frame). If you don't do the <code>-t 1 -r 1</code> dance it will complain about not being able to export the entire movie as a frame sequence. <code>-f image2</code> just telss ffmpeg to export as a still frame (it's probably redundant because you're specifying a .png as your output).</p>

<p>Many free, video players like <a href="http://mpv.io/" rel="nofollow noreferrer">MPV</a>, <a href="https://mpc-hc.org/" rel="nofollow noreferrer">MPC-HC</a> or <a href="https://www.videolan.org/" rel="nofollow noreferrer">VLC</a> can do this from a gui, meaning you can line up the exact frame by eye. They all use high quality video renderers which share a lot of code with ffmpeg. Using one of these, the task would be basically <a href="https://mpv.io/manual/stable/#keyboard-control" rel="nofollow noreferrer">hitting the s key</a> (or whatever) when you find the frame you want.</p>
