opencv 4.10
This commit is contained in:
@@ -31,8 +31,8 @@
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="OpenCvSharp4" Version="4.6.0.20220608" />
|
||||
<PackageReference Include="OpenCvSharp4.Extensions" Version="4.6.0.20220608" />
|
||||
<PackageReference Include="OpenCvSharp4" Version="4.10.0.20241108" />
|
||||
<PackageReference Include="OpenCvSharp4.Extensions" Version="4.10.0.20241108" />
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -93,7 +93,8 @@ public class AnomalyAI: BaseOperation
|
||||
|
||||
|
||||
// black and white mask
|
||||
var mask = new Mat(30, 48, MatType.CV_8UC1, resultColor);
|
||||
var mask = new Mat(30, 48, MatType.CV_8UC1);
|
||||
mask.SetArray(resultColor);
|
||||
|
||||
var maskResized = mask.Resize(new Size(currentImage.ImageData.Width, currentImage.ImageData.Height));
|
||||
|
||||
|
||||
@@ -60,7 +60,8 @@ public class BackgroundSeparationModelOperation:BaseOperation,IHaveOrigin
|
||||
|
||||
var bytes= MatToBytes(img);
|
||||
var responseBytes = _transfer.TransferData(ModelName, 3, bytes);
|
||||
var response = new Mat(img.Rows, img.Cols, MatType.CV_8UC1, responseBytes);
|
||||
var response = new Mat(img.Rows, img.Cols, MatType.CV_8UC1);
|
||||
response.SetArray(responseBytes);
|
||||
|
||||
var contours = response.Threshold(128, 255, ThresholdTypes.Binary).FindContoursAsArray(RetrievalModes.List, ContourApproximationModes.ApproxSimple);
|
||||
|
||||
|
||||
@@ -78,8 +78,9 @@ public class Color128HalfOperation:BaseOperation
|
||||
.ToArray();
|
||||
|
||||
// black and white mask
|
||||
var mask = new Mat(_imageHeight, _imageWidth, MatType.CV_8UC1, resultColor);
|
||||
|
||||
var mask = new Mat(_imageHeight, _imageWidth, MatType.CV_8UC1);
|
||||
mask.SetArray(resultColor);
|
||||
|
||||
var maskResized = mask.Resize(new Size(currentImage.ImageData.Width, currentImage.ImageData.Height));
|
||||
|
||||
context.ActiveImage = new HawkeyeImage() {ImageData = maskResized};
|
||||
|
||||
@@ -111,8 +111,9 @@ public abstract class ColorAIOperation:BaseOperation
|
||||
|
||||
|
||||
// black and white mask
|
||||
var mask = new Mat(_imageHeight, _imageWidth, MatType.CV_8UC1, resultColor);
|
||||
|
||||
var mask = new Mat(_imageHeight, _imageWidth, MatType.CV_8UC1);
|
||||
mask.SetArray(resultColor);
|
||||
|
||||
var maskResized = mask.Resize(new Size(currentImage.ImageData.Width, currentImage.ImageData.Height));
|
||||
|
||||
context.ActiveImage = new HawkeyeImage() { ImageData = maskResized };
|
||||
|
||||
@@ -129,7 +129,8 @@ public class ModelAIOperation: BaseOperation
|
||||
|
||||
|
||||
// black and white mask
|
||||
var mask = new Mat(outputSizeArray[0], outputSizeArray[1], MatType.CV_8UC1, resultColor);
|
||||
var mask = new Mat(outputSizeArray[0], outputSizeArray[1], MatType.CV_8UC1);
|
||||
mask.SetArray(resultColor);
|
||||
|
||||
var maskResized = mask.Resize(new Size(currentImage.ImageData.Width, currentImage.ImageData.Height));
|
||||
|
||||
|
||||
@@ -105,7 +105,8 @@ public class RawModelAIOperation: BaseOperation
|
||||
|
||||
|
||||
var outputSizeArray = outputSize.Select(Convert.ToInt32).ToArray();
|
||||
var mask = new Mat(outputSizeArray[0], outputSizeArray[1], MatType.CV_8UC1, resultColor);
|
||||
var mask = new Mat(outputSizeArray[0], outputSizeArray[1], MatType.CV_8UC1);
|
||||
mask.SetArray(resultColor);
|
||||
|
||||
var maskResized = mask.Resize(new Size(currentImage.ImageData.Width, currentImage.ImageData.Height));
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ public class SkeletonOperation:BaseOperation
|
||||
if(!CheckGrayscale(context)) return;
|
||||
|
||||
|
||||
var skeleton = new Mat(context.ActiveImage.ImageData.Size(), MatType.CV_8UC1, 0);
|
||||
var skeleton = new Mat(context.ActiveImage.ImageData.Size(), MatType.CV_8UC1, Scalar.All(0));
|
||||
var temp = context.ActiveImage.ImageData.Clone();
|
||||
var element = Cv2.GetStructuringElement(MorphShapes.Cross, new OpenCvSharp.Size(3, 3));
|
||||
var image = context.ActiveImage.ImageData.Clone();
|
||||
|
||||
@@ -49,13 +49,13 @@ public class GaborFilterOperation : BaseOperation
|
||||
}
|
||||
|
||||
var image = context.ActiveImage.ImageData;
|
||||
var newimage = new Mat(image.Size(), image.Type(), 0);
|
||||
var newimage = new Mat(image.Size(), image.Type(), Scalar.All(0));
|
||||
|
||||
foreach (double theta in steps)
|
||||
{
|
||||
var kernel = Cv2.GetGaborKernel(new Size(KSize, KSize), Sigma, theta, Lambda, Gamma, 0, MatType.CV_64F);
|
||||
kernel /= 1 * kernel.Sum().Val0;
|
||||
var filtered = new Mat(image.Size(), image.Type(), 0);
|
||||
var filtered = new Mat(image.Size(), image.Type(), Scalar.All(0));
|
||||
Cv2.Filter2D(image, filtered, -1, kernel);
|
||||
Cv2.Max(newimage, filtered, newimage);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ public class ImageSizeProportionOperation:BaseOperation
|
||||
|
||||
context.ActiveImage = new HawkeyeImage()
|
||||
{
|
||||
ImageData = context.ActiveImage!.ImageData.Resize(Size.Zero, Width, Height)
|
||||
ImageData = context.ActiveImage!.ImageData.Resize(new Size(0,0), Width, Height)
|
||||
};
|
||||
|
||||
Status = $"Image resized to {context.ActiveImage.ImageData.Width}x{context.ActiveImage.ImageData.Height}";
|
||||
|
||||
@@ -18,7 +18,7 @@ public class InvertOperation:BaseOperation
|
||||
if (!CheckImageExists(context)) return;
|
||||
|
||||
|
||||
var res = new Mat(context.ActiveImage.ImageData.Size(), context.ActiveImage.ImageData.Type(), 0);
|
||||
var res = new Mat(context.ActiveImage.ImageData.Size(), context.ActiveImage.ImageData.Type(), Scalar.All(0));
|
||||
Cv2.BitwiseNot(context.ActiveImage.ImageData, res);
|
||||
context.ActiveImage = new HawkeyeImage()
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ public class TakeBiggestOperation : BaseOperation
|
||||
var largestContour = contours.OrderByDescending(c => Cv2.ContourArea(c)).First();
|
||||
var mask = Mat.Zeros(image.Size(), MatType.CV_8UC1).ToMat();
|
||||
|
||||
Cv2.DrawContours(mask, new[] {largestContour}, -1, 255, -1);
|
||||
Cv2.DrawContours(mask, new[] {largestContour}, -1, Scalar.All(255), -1);
|
||||
|
||||
context.ActiveImage = new HawkeyeImage()
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ public class DistanceTransformOperation:BaseOperation
|
||||
|
||||
Cv2.MinMaxLoc(distance, out double minVal, out var maxVal);
|
||||
// clamp the distance transform to 0-255
|
||||
Cv2.Normalize(distance, res, 0, maxVal, NormTypes.MinMax, MatType.CV_8UC1);
|
||||
Cv2.Normalize(distance, res, 0, maxVal, NormTypes.MinMax, (int)MatType.CV_8UC1);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user