output directory variable

This commit is contained in:
THE_KONDRAT 2023-09-30 22:50:15 +03:00
parent 7f28de2ce3
commit cabf659514
2 changed files with 17 additions and 12 deletions

View File

@ -9,9 +9,11 @@ Console.WriteLine("Hello, World!");
var filePath = @"F:\GS_TEST.png"; var filePath = @"F:\GS_TEST.png";
filePath = @"F:\GS_TEST_1.png"; filePath = @"F:\GS_TEST_1.png";
var outputDirectory = "F:\\";
using (var s = new FileStream(filePath, FileMode.Open, FileAccess.Read)) using (var s = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{ {
var testClass = new TestClass(s); var testClass = new TestClass(s, outputDirectory);
testClass.Execute(); testClass.Execute();
} }
Console.ReadLine(); Console.ReadLine();

View File

@ -5,15 +5,18 @@ namespace Make3.Renderer
internal class TestClass internal class TestClass
{ {
private readonly Mat _inputMat; private readonly Mat _inputMat;
private readonly string _outputDirectory;
public TestClass(Stream stream) public TestClass(Stream stream, string outputDirectory)
{ {
_inputMat = Mat.FromStream(stream, ImreadModes.Grayscale); ; _inputMat = Mat.FromStream(stream, ImreadModes.Grayscale); ;
_outputDirectory = outputDirectory;
} }
public TestClass(Mat inputMat) public TestClass(Mat inputMat, string outputDirectory)
{ {
_inputMat = inputMat; _inputMat = inputMat;
_outputDirectory = outputDirectory;
} }
internal void Execute() internal void Execute()
@ -31,14 +34,14 @@ namespace Make3.Renderer
closing.FindContours(out contours, out hierarchy, RetrievalModes.Tree, ContourApproximationModes.ApproxNone); closing.FindContours(out contours, out hierarchy, RetrievalModes.Tree, ContourApproximationModes.ApproxNone);
var contNum = 0; var contNum = 0;
//var allContursColored = GetContoursColored(contours, hierarchy, contNum); var allContursColored = GetContoursColored(contours, hierarchy, contNum);
allContursColored.SaveImage(Path.Combine(_outputDirectory, $"GS_TEST_{contNum}_conturs_colored.png"));
var allConturs = GetContoursBW(contours, hierarchy, contNum); var allConturs = GetContoursBW(contours, hierarchy, contNum);
allConturs.SaveImage(@$"F:\GS_TEST_c{contNum}.png"); allConturs.SaveImage(Path.Combine(_outputDirectory, $"GS_TEST{contNum}_conturs_BW.png"));
//colorSeparatedMats.Add(c); //colorSeparatedMats.Add(c);
allConturs.SaveImage(@$"F:\GS_TEST_cc{contNum}.png");
DistanceTransform(allConturs, contNum); DistanceTransform(allConturs, contNum);
} }
@ -113,7 +116,7 @@ namespace Make3.Renderer
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <param name="contur"></param> /// <param name="contur"></param>
private static void DistanceTransform(Mat input, int contur) private void DistanceTransform(Mat input, int contur)
{ {
var distanceTransform = input.EmptyClone(); var distanceTransform = input.EmptyClone();
//Cv2.DistanceTransform(dst1, dst2, DistanceTypes.L2, DistanceTransformMasks.Precise); //Cv2.DistanceTransform(dst1, dst2, DistanceTypes.L2, DistanceTransformMasks.Precise);
@ -121,8 +124,8 @@ namespace Make3.Renderer
Cv2.DistanceTransformWithLabels(input, distanceTransform, labels, DistanceTypes.L2, DistanceTransformMasks.Precise, Cv2.DistanceTransformWithLabels(input, distanceTransform, labels, DistanceTypes.L2, DistanceTransformMasks.Precise,
//Cv2.DistanceTransformWithLabels(dst1, dst2, labelIndexes, DistanceTypes.L2, DistanceTransformMasks.Mask3, //Cv2.DistanceTransformWithLabels(dst1, dst2, labelIndexes, DistanceTypes.L2, DistanceTransformMasks.Mask3,
DistanceTransformLabelTypes.Pixel); DistanceTransformLabelTypes.Pixel);
distanceTransform.SaveImage(@$"F:\GS_TEST_ccc{contur}.png"); distanceTransform.SaveImage(Path.Combine(_outputDirectory, $"GS_TEST{contur}_distance_transform.png"));
//labels.PushBack(-1); //labels.PushBack(-1);
var k = 1; var k = 1;
for (int i = 0; i < distanceTransform.Height; i++) for (int i = 0; i < distanceTransform.Height; i++)
@ -148,7 +151,7 @@ namespace Make3.Renderer
} }
} }
labels.SaveImage(@$"F:\GS_TEST_cccc{contur}.png"); labels.SaveImage(Path.Combine(_outputDirectory, $"GS_TEST{contur}_distance_transform_labels.png"));
} }
//private void B() //private void B()