Для всех, кто сталкивался с этим старым постом, вышеприведенный код от Gordon прекрасно работает, но, как указал jixtra, вы действительно получите исключение: System.DllNotFoundException: 'Unable to load DLL' FreeImage ': указанный модуль не может быть найденным.' при установке через нугет. Я смог заставить его работать в .net 4.6.1, установив пакет nuget FreeImage-dotnet-core и вручную добавив FreeImage.dll в папку bin. Вы можете скачать dll здесь: http://freeimage.sourceforge.net/download.html.
Мне нужно было более качественное изображение для использования с тессерактом, поэтому я внес несколько небольших изменений, которые сильно повлияли на качество нового jpeg:
var jp2Format = FREE_IMAGE_FORMAT.FIF_JP2;
var dib = FreeImage.LoadEx("test.jp2", ref jp2Format);
FreeImage.SetResolutionX(dib, 300);
FreeImage.SetResolutionY(dib, 300);
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JPEG, dib, "test.jpg", FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYSUPERB);