SharpCV

github地址:https://github.com/SciSharp/SharpCV

About

A Computer Vision library for C# and F# that combines OpenCV and NDArray together in .NET Standard.

SharpCV

A image library combines OpenCV and NumSharp together. SharpCV returns Mat object with NDArray supported, which makes it easier to do data manipulation like slicing.

How to use

Install OpenCV prebuild binary

PM> Install-Package SharpCV
PM> Install-Package OpenCvSharp4.runtime.win

Import SharpCV and OpenCV library

using SharpCV;
using static SharpCV.Binding;

Interact with NDArray

NDArray kernel = new float[,]
{
    { 0, -1, 0 },
    { -1, 5, -1 },
    { 0, -1, 0 }
};

var mat = new Mat(kernel);

Assert.AreEqual((3, 3), mat.shape);
Assert.AreEqual(kernel[0], mat.data[0]); // { 0, -1, 0 }
Assert.AreEqual(kernel[1], mat.data[1]); // { -1, 5, -1 }
Assert.AreEqual(kernel[2], mat.data[2]); // { 0, -1, 0 }

Pixel level access

var img = cv2.imread(imgSolar, IMREAD_COLOR.IMREAD_GRAYSCALE);
byte p = img[8, 8];
Assert.AreEqual(18, p);

img = cv2.imread(imgSolar);
var (b, g, r) = img[8, 8];
Assert.AreEqual((32, 19, 11), (b, g, r));

Convert to black and white image

var img = cv2.imread("solar.jpg");
var gray = cv2.cvtColor(img, ColorConversionCodes.COLOR_RGB2GRAY);
var (ret, binary) = cv2.threshold(gray, 0, 255, ThresholdTypes.THRESH_BINARY | ThresholdTypes.THRESH_TRIANGLE);
cv2.imshow("black and white", binary);
cv2.waitKey(0);

Video capture from file or camera

var vid = cv2.VideoCapture("road.mp4");
var (loaded, frame) = vid.read();
while (loaded)
{
    (loaded, frame) = vid.read();
    cv2.imshow("video", frame);
}

你可能感兴趣的:(人工智能,人工智能,c#)