2.棋盘距离:
数字网格上像素的对角线移动形成的距离。
3. 曼哈顿距离:
从起点到终点所需的最少步数,仅允许水平和垂直移动。
四、函数distanceTransform()
在OpenCV中,函数distanceTransform()用于计算图像中每个非零像素与其最近的零像素之间的距离。
输出是保存每个非零点与最近的零点之间的距离信息。图像上的点越亮,离零点越远。使用:
基于距离变换的这种性质,可以通过简单的操作来细化字符的轮廓并找到对象的质心(中心)。
L1:曼哈顿距离
L2:欧氏距离
C: 棋盘距离
五、程序
private void button4_Click(object sender, EventArgs e)
{
Mat src=src_img.Clone();
Cv2.ImShow("原始图像", src);
Mat tran=new Mat();
Mat 归一化=new Mat();
//灰度转换
垫灰色=new Mat();
Cv2.CvtColor(src, 灰色, ColorConversionCodes.BGR2GRAY);
Cv2.BitwiseNot(灰色, 灰色);
Cv2.ImShow("按位运算取反",gray);
//距离变换
Cv2.DistanceTransform(gray, tran, DistanceTypes.L2, DistanceMaskSize.Mask3);
Cv2.Normalize(tran, 归一化, 0, 1, NormTypes.MinMax);
Normalize.ConvertTo(dst, MatType.CV_8U, 256);
Cv2.ImShow("归一化", dst);
//pictureBox1.Image=dst.ToBitmap();
【深度学习在图像处理中的应用:C#与OpenCvSharp的距离变换技术】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我一直想学习OpenCV!这个 C# 的距离变换例子感觉很有帮助。
有8位网友表示赞同!
我最近在研究图像处理,这篇文章似乎能帮我理解距离变换。
有10位网友表示赞同!
距离变换应用场景很多啊,比如目标检测和图像分割。
有15位网友表示赞同!
想看一些更具体的代码示例,这样可以更快地学会这个概念。
有11位网友表示赞同!
OpenCvSharp 使用起来感觉比其他 OpenCV 库更直观吧?
有6位网友表示赞同!
学习 C# 做图像处理真是太酷了!
有19位网友表示赞同!
距离变换听起来很有意思,可以用来提取图像的形状信息吗?
有7位网友表示赞同!
分享一些 OpenCvSharp 的资源链接或教程会很棒。
有11位网友表示赞同!
这个距离变换的结果图看起来很复杂,需要再仔细研究一下算法原理。
有5位网友表示赞同!
C# 语言学习起来相对轻松,OpencvSharp 加上,图像处理更方便了。
有5位网友表示赞同!
我还想知道如何使用 C# 和 OpenCV 实现其他类型的图像变换。
有19位网友表示赞同!
距离变换对于理解图像的拓扑结构很有帮助吧?
有10位网友表示赞同!
期待作者能分享更多关于 OpenCvSharp 的高级用法,比如视频处理?
有6位网友表示赞同!
这篇文章把我对距离变换的概念解释得更加清晰了!感谢分享。
有18位网友表示赞同!
学习 C# 可以让我更容易地了解计算机视觉技术的原理。
有15位网友表示赞同!
我想尝试用 OpenCvSharp 距离变换应用到实际的项目中,看看效果如何。
有19位网友表示赞同!
这篇文章给我的启发是,C# 和 OpenCV 可以用来解决很多有意思的图像处理问题
有17位网友表示赞同!
OpencvSharp 的文档比较详细吗? 还是有其他的学习资料推荐?
有12位网友表示赞同!
我接下来要尝试学习更多关于 C# 和 Open CvSharp 的知识,谢谢!
有10位网友表示赞同!