【源码】VS c#如何快速安装和使用OpenCvSharp?
1、1. 首先打开VS软件,并创建c#工程,如下图所示。

2、2. 选择您的项目,鼠标右键->【管理NuGet程序包】如下图所示,并点击进入。

3、3. 在步骤二弹出的页面中,选择【浏览】->【搜索】opencvSharp->显示结果包括2.0版本和3.0版本(用户自己选择)

4、4. 选中自己需要的版本->【点击右侧的安装】,如下图所示,弹窗中选择【确定】


5、5. 跳转到如下界面说明安装已经成功了。

6、6. 测试: 在Program.cs中输入以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenCvSharp;
namespace TestOpencvSharp3._14
{
class Program
{
static void Main(string[] args)
{
using (var src = new Mat("Penguin.Png", ImreadModes.AnyDepth | ImreadModes.AnyColor))
using (var dst = new Mat())
{
src.CopyTo(dst);
using (var window = new Window("Resize/Rotate/Blur",
image: dst, flags: WindowMode.AutoSize))
{
var angle = 0.0;
var scale = 0.7;
var angleTrackbar = window.CreateTrackbar(
name: "Angle", value: 0, max: 180,
callback: (pos, obj) =>
{
angle = pos;
rotateImage(angle, scale, src, dst);
window.Image = dst;
});
var scaleTrackbar = window.CreateTrackbar(
name: "Scale", value: 1, max: 10,
callback: (pos, obj) =>
{
scale = pos / 10f;
rotateImage(angle, scale, src, dst);
window.Image = dst;
});
var resizeTrackbar = window.CreateTrackbar(
name: "Resize", value: 1, max: 100,
callback: (pos, obj) =>
{
rotateImage(angle, scale, src, dst);
Cv2.Resize(dst, dst,
new Size(src.Width + pos, src.Height + pos),
interpolation: InterpolationFlags.Cubic);
window.Image = dst;
});
var blurTrackbar = window.CreateTrackbar(
name: "Blur", value: 1, max: 100,
callback: (pos, obj) =>
{
if (pos % 2 == 0) pos++;
rotateImage(angle, scale, src, dst);
Cv2.GaussianBlur(dst, dst, new Size(pos, pos), sigmaX: 0);
window.Image = dst;
});
//angleTrackbar.Callback.DynamicInvoke(0);
//scaleTrackbar.Callback.DynamicInvoke(1);
//resizeTrackbar.Callback.DynamicInvoke(1);
//blurTrackbar.Callback.DynamicInvoke(1);
Cv2.WaitKey();
}
}
}
private static void rotateImage(double angle, double scale, Mat src, Mat dst)
{
var imageCenter = new Point2f(src.Cols / 2f, src.Rows / 2f);
var rotationMat = Cv2.GetRotationMatrix2D(imageCenter, angle, scale);
Cv2.WarpAffine(src, dst, rotationMat, src.Size());
}
}
}



7、如果您觉得有用,记得在下方点击投票、点赞、关注、留言,小编会定期奉上更多的惊喜哦,您的支持才是小编继续努力的动力,么么哒。
