Difference between revisions of "Hello World in CSharp"
Jump to navigation
Jump to search
m (HelloWorldCSharp moved to Hello World in CSharp: Better naming convention) |
|||
Line 1: | Line 1: | ||
+ | '''This example requires [[Version_History#Emgu.CV-1.5.0.0|Emgu CV 1.5.0.0]]''' | ||
+ | |||
+ | == Hello World - Version 1== | ||
We will start by the Hello World sample, written in C# | We will start by the Hello World sample, written in C# | ||
− | <source lang="csharp">using Emgu.CV; | + | <source lang="csharp"> |
+ | using Emgu.CV; | ||
using Emgu.CV.CvEnum; | using Emgu.CV.CvEnum; | ||
+ | using Emgu.CV.Structure; | ||
... | ... | ||
− | + | //The name of the window | |
− | + | String win1 = "Test Window"; | |
− | + | //Create the window using the specific name | |
− | + | CvInvoke.cvNamedWindow(win1); | |
− | + | //Create an image of 400x200 of Blue color | |
+ | using (Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0))) | ||
+ | { | ||
+ | //Create the font | ||
+ | MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0); | ||
+ | //Draw "Hello, world." on the image using the specific font | ||
+ | img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0)); | ||
− | CvInvoke.cvShowImage(win1, img); // | + | //Show the image |
− | CvInvoke.cvWaitKey(0); | + | CvInvoke.cvShowImage(win1, img.Ptr); |
− | CvInvoke.cvDestroyWindow(win1); | + | //Wait for the key pressing event |
+ | CvInvoke.cvWaitKey(0); | ||
+ | //Destory the window | ||
+ | CvInvoke.cvDestroyWindow(win1); | ||
+ | } | ||
</source> | </source> | ||
− | The above code will create an image of 400x200 with blue background color and the | + | The above code will create an image of 400x200 with blue background color and the text "Hello, world" in green on the foreground. The image will be displayed a window named "Test Window". |
[[image:HelloWorldExample.GIF]] | [[image:HelloWorldExample.GIF]] | ||
+ | |||
+ | == Hello World - Version 2== | ||
+ | Showing image using cvNamedWindow is good, but [[Emgu CV]] has an event better tool for the same purpose, that is, the ImageViewer class under Emgu.CV.UI namespace. | ||
+ | |||
+ | <source lang="csharp"> | ||
+ | using Emgu.CV; | ||
+ | using Emgu.CV.CvEnum; | ||
+ | using Emgu.CV.Structure; | ||
+ | using Emgu.CV.UI; | ||
+ | |||
+ | ... | ||
+ | |||
+ | //Create an image of 400x200 of Blue color | ||
+ | using (Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0))) | ||
+ | { | ||
+ | //Create the font | ||
+ | MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0); | ||
+ | |||
+ | //Draw "Hello, world." on the image using the specific font | ||
+ | img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0)); | ||
+ | |||
+ | //Show the image using ImageViewer from Emgu.CV.UI | ||
+ | ImageViewer.Show(img, "Test Window"); | ||
+ | } | ||
+ | </source> |
Revision as of 21:34, 11 February 2009
This example requires Emgu CV 1.5.0.0
Hello World - Version 1
We will start by the Hello World sample, written in C#
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
...
//The name of the window
String win1 = "Test Window";
//Create the window using the specific name
CvInvoke.cvNamedWindow(win1);
//Create an image of 400x200 of Blue color
using (Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0)))
{
//Create the font
MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);
//Draw "Hello, world." on the image using the specific font
img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0));
//Show the image
CvInvoke.cvShowImage(win1, img.Ptr);
//Wait for the key pressing event
CvInvoke.cvWaitKey(0);
//Destory the window
CvInvoke.cvDestroyWindow(win1);
}
The above code will create an image of 400x200 with blue background color and the text "Hello, world" in green on the foreground. The image will be displayed a window named "Test Window".
Hello World - Version 2
Showing image using cvNamedWindow is good, but Emgu CV has an event better tool for the same purpose, that is, the ImageViewer class under Emgu.CV.UI namespace.
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.UI;
...
//Create an image of 400x200 of Blue color
using (Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0)))
{
//Create the font
MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);
//Draw "Hello, world." on the image using the specific font
img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0));
//Show the image using ImageViewer from Emgu.CV.UI
ImageViewer.Show(img, "Test Window");
}