ImageEn, unit ievision

TIEVisionLibrary.createNNetSuperRes

TIEVisionLibrary.createNNetSuperRes


Declaration

function createNNetSuperRes(model: TIEVisionSuperResModel; scale: int32_t; modelPath: PAnsiChar; configPath: PAnsiChar): TIEVisionNNetSuperRes; safecall;
function createNNetSuperRes(model: TIEVisionSuperResModel; scale: int32_t modelPath: PAnsiChar): TIEVisionNNetSuperRes; safecall;


Description

Create an TIEVisionSuperResModel instance to upscale images (i.e. increase image resolution).
See createNNet for the supported models.
Neural net supported types are: EDSR, ESPCN, FSRCNN, LapSRN

Parameter Description
model Model type
scale Scale factor. This parameter must be tied to the specified model
modelPath Path to the input model
configPath Optional path to the condiguration file

You can download model files from: www.imageen.com/download/
See model comparisons and benchmarks at: www.imageen.com/support/SuperRes_Benchmarking/
More information on Super Resolution at: learnopencv.com/super-resolution-in-opencv/

Original Image:


Upscaled 3x using FSRCNN:


Compared with Bicubic Upscaling:



Demo

Demo  Demos\IEVision\NeuralNet\NeuralNet.dpr


Example

// Increase the image resolution by a factor of three using FSRCNN pre-trained model
var
  nnet: TIEVisionNNetSuperRes;
  img: TIEVisionImage;
begin
  nnet:= IEVisionLib.createNNetSuperRes(ievFSRCNN, 3, 'FSRCNN_x3.pb');
  img := nnet.upsample(ImageEnView1.IEBitmap.GetIEVisionImage());
  ImageEnView1.IEBitmap.AssignIEVisionImage(img);
  ImageEnView1.Update();
end;