30 lines
670 B
C#
30 lines
670 B
C#
using OpenCvSharp;
|
|
|
|
public static class ImageUtils
|
|
{
|
|
public static bool TryRead(string path, out Mat mat)
|
|
{
|
|
mat = Cv2.ImRead(path, ImreadModes.Color);
|
|
return !mat.Empty();
|
|
}
|
|
|
|
public static void Save(Mat mat, string path)
|
|
{
|
|
mat.ImWrite(path);
|
|
}
|
|
|
|
// Apply mask to image: where mask==0 set to black
|
|
public static Mat ApplyMask(Mat src, Mat mask)
|
|
{
|
|
Mat dst = new Mat();
|
|
if (mask.Type() != MatType.CV_8U)
|
|
{
|
|
Mat tmp = new();
|
|
mask.ConvertTo(tmp, MatType.CV_8U);
|
|
mask = tmp;
|
|
}
|
|
Cv2.BitwiseAnd(src, src, dst, mask);
|
|
return dst;
|
|
}
|
|
}
|