I'm not sure how well this will work without trying on your specific raster, but a few pointers. I assume from your image you used Threshold in GIMP to give you a binary raster (inside field/outside field)
You can use GDAL Sieve to remove the 'salt and pepper' noise - those little holes within the fields.
You can do this from QGIS (Raster > Analysis > Sieve). That should fill any 'holes' (smaller than an area you specify) with the value of the surrounding raster area. If you're lucky and guess the minimum area well, it might also clean up the noise in the gaps between fields too.
Using QGIS to get edges
Depending on how successful that is, and how well you choose the sieve settings, you may be able to convert the noise-free raster straight to polygons. There seems to be a lot of noise in the gaps between fields so there's a good chance you end up with some fields joined together.
Using SAGA to get edges
If you get a reasonably clean noise-free image from Sieve
SAGA GIS has a Raster Connectivty Filter (Grid > Filter > Connectivity Analysis). This will give two outputs
- a raster, with each contiguous area of pixels given its own ID
- a shapefile with the boundary of each contiguous area of pixels
Using GIMP to get edges
GIMP has a number of noise-removal and edge filters (e.g. Sobel, Difference of Guassians etc), you might want to try these too.
You might also need to simplify geometries to get rid of the 'staircasing' (the polygon edges will trace round pixel boundaries)