168 lines
6.5 KiB
C#
168 lines
6.5 KiB
C#
using System;
|
|
using System.IO;
|
|
using MarketData.CNNProcessing;
|
|
using MarketData.Utils;
|
|
|
|
namespace CNNImageProcessor
|
|
{
|
|
class Program
|
|
{
|
|
|
|
// **************************************************************************************************************************************************
|
|
// **************************************************************************************************************************************************
|
|
|
|
// You will then need to copy this data to C:\DeepLearningImageTests\DeepLearningImageData\Data
|
|
public static void GenerateImageData()
|
|
{
|
|
GenerateImageData(@"C:\DeepLearningImageTests\DeepLearningImageData\RawData0",@"c:\DeepLearningImageTests\DeepLearningImageData\Data\0");
|
|
GenerateImageData(@"C:\DeepLearningImageTests\DeepLearningImageData\RawData1",@"c:\DeepLearningImageTests\DeepLearningImageData\Data\1");
|
|
}
|
|
|
|
public static void GenerateImageData(String inputFolder,String destinationFolder)
|
|
{
|
|
ImageHelper imageHelper = new ImageHelper();
|
|
String[] files = Directory.GetFiles(inputFolder, "*.jpg");
|
|
foreach (String file in files)
|
|
{
|
|
try
|
|
{
|
|
String fileName = Path.GetFileName(file);
|
|
String pathFileName = destinationFolder + @"\" + fileName;
|
|
String pathFileNameL = destinationFolder + @"\" + Utility.BetweenString(fileName,null,".")+"L.jpg";
|
|
String pathFileNameR = destinationFolder + @"\" + Utility.BetweenString(fileName,null,".")+"R.jpg";
|
|
String pathFileNameU = destinationFolder + @"\" + Utility.BetweenString(fileName,null,".")+"U.jpg";
|
|
String pathFileNameB1 = destinationFolder + @"\" + Utility.BetweenString(fileName,null,".")+"B1.jpg";
|
|
String pathFileNameB2 = destinationFolder + @"\" + Utility.BetweenString(fileName,null,".")+"B2.jpg";
|
|
String pathFileNameB3 = destinationFolder + @"\" + Utility.BetweenString(fileName,null,".")+"B3.jpg";
|
|
String pathFileNameB4 = destinationFolder + @"\" + Utility.BetweenString(fileName,null,".")+"B4.jpg";
|
|
|
|
Console.WriteLine(String.Format("Reading {0}", file));
|
|
imageHelper.LoadImage(file);
|
|
imageHelper.Resize(128, 128);
|
|
|
|
ImageHelper bmpLeft=new ImageHelper(imageHelper);
|
|
ImageHelper bmpRight=new ImageHelper(imageHelper);
|
|
ImageHelper bmpUDown=null;
|
|
bmpLeft.RotateLeft();
|
|
bmpRight.RotateRight();
|
|
bmpUDown=new ImageHelper(bmpRight);
|
|
bmpUDown.RotateRight();
|
|
|
|
//bmpLeft.ToGrayScale();
|
|
//bmpRight.ToGrayScale();
|
|
//bmpUDown.ToGrayScale();
|
|
//imageHelper.ToGrayScale();
|
|
|
|
imageHelper.Save(pathFileName);
|
|
bmpLeft.Save(pathFileNameL);
|
|
bmpRight.Save(pathFileNameR);
|
|
bmpUDown.Save(pathFileNameU);
|
|
|
|
ImageHelper bmpBlur1=new ImageHelper(imageHelper);
|
|
ImageHelper bmpBlur2=new ImageHelper(bmpLeft);
|
|
ImageHelper bmpBlur3=new ImageHelper(bmpRight);
|
|
ImageHelper bmpBlur4=new ImageHelper(bmpUDown);
|
|
bmpBlur1.Blur(1);
|
|
bmpBlur2.Blur(1);
|
|
bmpBlur3.Blur(1);
|
|
bmpBlur4.Blur(1);
|
|
bmpBlur1.Save(pathFileNameB1);
|
|
bmpBlur2.Save(pathFileNameB2);
|
|
bmpBlur3.Save(pathFileNameB3);
|
|
bmpBlur4.Save(pathFileNameB4);
|
|
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Console.WriteLine(exception.ToString());
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void TestCNN()
|
|
{
|
|
ImageHelper imageHelper = null;
|
|
Stream stream = null;
|
|
|
|
String sourceFolder = @"C:\DeepLearningImageTests\DeepLearningImageData\Validation";
|
|
String[] files = Directory.GetFiles(sourceFolder,"*.jpg");
|
|
|
|
foreach(String file in files)
|
|
{
|
|
imageHelper=new ImageHelper();
|
|
imageHelper.LoadImage(file);
|
|
stream = imageHelper.ToStream();
|
|
CNNClient cnnClient = new CNNClient("http://10.0.0.73:5000");
|
|
String result = cnnClient.Predict(CNNClient.Model.vgg16,stream);
|
|
Console.WriteLine(String.Format("Result:{0} File:{1}",result,file));
|
|
}
|
|
}
|
|
|
|
public static void ProcessImage()
|
|
{
|
|
ImageHelper imageHelper=new ImageHelper();
|
|
imageHelper.LoadImage(@"C:\DeepLearningImageTests\DeepLearningImageData\RawData0\00de4729-6aa9-465e-906b-4c92bc24f7a9.jpg");
|
|
Stream stream = imageHelper.ToStream();
|
|
CNNClient cnnClient = new CNNClient("http://10.0.0.73:5000");
|
|
Stream result = cnnClient.ProcessImage(stream);
|
|
imageHelper.LoadImage(stream);
|
|
imageHelper.Save(@"c:\2\image.jpg");
|
|
}
|
|
|
|
public static void CreateValidationImages(String sourcePath, String destinationPath)
|
|
{
|
|
String[] files = Directory.GetFiles(sourcePath,"*.jpg");
|
|
foreach(String file in files)
|
|
{
|
|
Console.WriteLine($"Processing {file}");
|
|
ImageHelper imageHelper=new ImageHelper();
|
|
imageHelper.LoadImage(file);
|
|
imageHelper.ToGrayScale();
|
|
imageHelper.Resize(128,128);
|
|
Stream stream = imageHelper.ToStream();
|
|
CNNClient cnnClient = new CNNClient("http://10.0.0.73:5000");
|
|
Stream processed = cnnClient.ProcessImage(stream);
|
|
imageHelper.LoadImage(processed);
|
|
String pureFileName = Path.GetFileName(file);
|
|
String saveFileName = destinationPath + @"\" + pureFileName;
|
|
imageHelper.Save(saveFileName);
|
|
}
|
|
}
|
|
|
|
public static void ProcessImages(String sourcePath, String destinationPath)
|
|
{
|
|
String[] files = Directory.GetFiles(sourcePath,"*.jpg");
|
|
foreach(String file in files)
|
|
{
|
|
Console.WriteLine($"Processing {file}");
|
|
ImageHelper imageHelper=new ImageHelper();
|
|
imageHelper.LoadImage(file);
|
|
imageHelper.ToGrayScale();
|
|
imageHelper.Resize(128,128);
|
|
Stream stream = imageHelper.ToStream();
|
|
CNNClient cnnClient = new CNNClient("http://10.0.0.73:5000");
|
|
Stream processed = cnnClient.ProcessImage(stream);
|
|
imageHelper.LoadImage(processed);
|
|
String pureFileName = Path.GetFileName(file);
|
|
String saveFileName = destinationPath + @"\" + pureFileName;
|
|
imageHelper.Save(saveFileName);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static void Main(string[] args)
|
|
{
|
|
// ProcessImages(@"C:\Data\0",@"C:\DeepLearningImageTests\DeepLearningImageData\Data\0");
|
|
// ProcessImages(@"C:\Data\1",@"C:\DeepLearningImageTests\DeepLearningImageData\Data\1");
|
|
|
|
|
|
// GenerateImageData();
|
|
// TestCNN();
|
|
// ProcessImage();
|
|
// CreateValidationImages(@"C:\2",@"C:\3");
|
|
|
|
}
|
|
}
|
|
}
|