diff --git a/Emgu.CV-Learning-Projects.sln b/Emgu.CV-Learning-Projects.sln
new file mode 100644
index 0000000..58ea566
--- /dev/null
+++ b/Emgu.CV-Learning-Projects.sln
@@ -0,0 +1,14 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Vision.csproj b/Vision.csproj
index 6a5ba6b..6a8eae5 100644
--- a/Vision.csproj
+++ b/Vision.csproj
@@ -5,6 +5,7 @@
net9.0
enable
enable
+ handToMouse.Program
diff --git a/src/program.cs b/src/program.cs
new file mode 100644
index 0000000..ec11298
--- /dev/null
+++ b/src/program.cs
@@ -0,0 +1,54 @@
+using System;
+using Emgu.CV;
+using Emgu.CV.Structure;
+
+namespace handToMouse
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ VideoCapture capture = new VideoCapture();
+ Mat frame = new();
+ bool pause = false;
+
+ while(!pause)
+ {
+ capture.Read(frame);
+
+ Image convertFrame = frame.ToImage();
+ // Makes a greyscale image and the pixels that are in the range turn on and the rest are off.
+ var image = convertFrame.InRange(new Bgr(75, 0, 0), new Bgr(255, 190, 190));
+
+ // With these loops the program will look accros the rows ans colums for pixes in the rang
+ for (int i = 0; i < image.Rows; i++)
+ {
+ for (int j = 0; j < image.Cols; j++)
+ {
+ var intensity = image[i, j];
+
+ // Takes any pixels the loops find to be on and turns them blue
+ if (intensity.Intensity > 0)
+ {
+ convertFrame[i, j] = new Bgr(convertFrame[i, j].MCvScalar.V0 + 100, convertFrame[i, j].MCvScalar.V1 + 50, convertFrame[i, j].MCvScalar.V2 - 50);
+ }
+ // Takes all the pixels the loops find off and tuns them green
+ if (intensity.Intensity < 1)
+ {
+ convertFrame[i, j] = new Bgr(convertFrame[i, j].MCvScalar.V0 - 50, convertFrame[i, j].MCvScalar.V1 + 100, convertFrame[i, j].MCvScalar.V2 - 50);
+ }
+ }
+ }
+ Mat changedFrame = convertFrame.Mat;
+
+ CvInvoke.Imshow("Video", changedFrame);
+
+ int keyPressed = CvInvoke.WaitKey(1);
+ if (keyPressed == 27)
+ {
+ pause = true;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Display-Image.cs b/tutorialMaterial/imageProcessors.cs
similarity index 100%
rename from Display-Image.cs
rename to tutorialMaterial/imageProcessors.cs
diff --git a/Object-Detection.cs b/tutorialMaterial/program.cs
similarity index 100%
rename from Object-Detection.cs
rename to tutorialMaterial/program.cs