-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCameraTest.cs
More file actions
102 lines (94 loc) · 2.79 KB
/
CameraTest.cs
File metadata and controls
102 lines (94 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
using Emgu.CV;
using Emgu.CV.CvEnum;
using System.Text.RegularExpressions;
//namespace CameraMicTelegram
//{
// public class Camera
// {
// private Mat Image;
// private string FileName { get; set; }
// private VideoCapture Capture { get; set; }
// private static Camera()
// {
// VideoCapture Capture = new VideoCapture(0);
// this.Capture = Capture;
// }
// public async Task<Camera> TakeSavePic(string FileName = "pict")
// {
// return await SavePic(await TakePic(), FileName);
// }
// public static async Task<Camera> TakePic()
// {
// Camera camera = new Camera();
// try
// {
// Capture.Set(CapProp.FrameWidth, 1280);
// Capture.Set(CapProp.FrameHeight, 720);
// camera.Image = capture.QueryFrame();
// capture.Dispose();
// }
// catch (Exception)
// {
// camera.Image = new Mat();
// }
// return camera;
// }
// public async Task<Camera> SavePic(Mat image, string FileName)
// {
// try
// {
// image.Save(Environment.CurrentDirectory + "/assets/" + FileName + ".jpg");
// image.Dispose();
// }
// catch (Exception)
// {
// throw new Exception();
// }
// return this;
// }
// }
//}
namespace CameraMicTelegram
{
public class CameraTest
{
private Mat Image { get; set; }
private string FileName { get; set; }
private CameraTest() { }
public static CameraTest TakePic()
{
Camera camera = new Camera();
try
{
VideoCapture capture = new VideoCapture(0);
capture.Set(CapProp.FrameWidth, 1280);
capture.Set(CapProp.FrameHeight, 720);
camera.Image = capture.QueryFrame();
capture.Dispose();
}
catch (Exception)
{
camera.Image = new Mat();
}
return camera;
}
public CameraTest SavePic(string fileName = "pict")
{
FileName = fileName;
try
{
Image.Save(Environment.CurrentDirectory + "/assets/" + FileName + ".jpg");
Image.Dispose();
}
catch (Exception)
{
// Handle exceptions appropriately
}
return this;
}
public static async Task<Boolean> TakeSavePic(string fileName = "pict")
{
return await Task.Run(() => TakePic().SavePic(fileName).FileName != null);
}
}
}