利用利用C#版版OpenCV实现圆心求取实例代码实现圆心求取实例代码
主要给大家介绍了关于如何利用C#版OpenCV实现圆心求取的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们
下面来一起学习学习吧
前言前言
OpenCVSharp是OpenCV的.NET wrapper,是一名日本工程师开发的,项目地址为:https://github.com/shimat/opencvsharp。
该源码是 BSD开放协议,BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布或商
业化销售。
1.OpenCVSharp的下载的下载
可以直接从上面的github上下载源码,自行编译引用;
也可用vs中的nuget包管理器下载;
打开【工具】->【库程序包管理器】->【管理解决方案的NuGet程序包】,在其中搜索OpenCVSharp,选择合适的点击【安装】(最好安装最新的)。一直等待完成。
我的环境是vs2017,下载之后最好直接拷贝OpenCVSharp系列dll到项目中引用即可。
2.拟合圆并求取圆心拟合圆并求取圆心
本次举例比较贴近实际,我们求如下原始图片的中间部分圆的圆心,选取的图片故意只留了一半:
源码如下:源码如下:
using OpenCvSharp;
namespace SamplesWinform
{
public class CircleFit
{
public void Run()
{
//读取图片
var img = Cv2.ImRead("Data/Image/c1.bmp");
//显示图片
//Cv2.ImShow("Input Image", img);
//转换成灰度图
Mat gray = img.CvtColor(ColorConversionCodes.BGR2GRAY);
//阈值二值化操作 阈值参数可以用一些可视化工具来调试得到
Mat ThresholdImg = gray.Threshold(11, 255, ThresholdTypes.Binary);
评论0