OpenCV(二十七):图像距离变换

这篇具有很好参考价值的文章主要介绍了OpenCV(二十七):图像距离变换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.像素间距离

OpenCV(二十七):图像距离变换,Android之OpenCV,opencv,人工智能,计算机视觉,C++

2.距离变换函数distanceTransform()

void cv::distanceTransform ( InputArray  src,

OutputArray dst,

int   distanceType,

int    maskSize,

int     dstType = CV_32F

)

  • src:输入图像,数据类型为CV8U的单通道图像
  • dst:输出图像,与输入图像具有相同的尺寸,数据类型为CV_8U或者CV_32F的单通道图像distanceType:选择计算两个像素之间距离方法的标志, 常用的有DIST_L1、DIST_L2和DIST_C,分别表示街区距离、欧式距离和棋盘距离
  • maskSize: 距离变换掩码矩阵大小,可以选择尺寸为DIST_MASK_3(3×3)、DIST_MASK_ 5(5X5)
  • dstType:输出图像的数据类型,可以是CV_8U或者CV_32F

示例代码:

//图像距离的变换
void Image_range_transformation(Mat image){
    Mat rice;
    cvtColor(image,rice,COLOR_BGR2GRAY);
    Mat riceBW,riceBW_INV;
    //将图像转成二值图像,同时把黑白区域图像互换
    threshold(rice,riceBW,50,255,THRESH_BINARY);
    threshold(rice,riceBW_INV,50,255,THRESH_BINARY_INV);
    //距离变换
    Mat dist,dist_INV;
    distanceTransform(riceBW,dist,1,3,CV_32F);//为了显示清晰,将数据类型变成CV_32F
    distanceTransform(riceBW_INV,dist_INV,1,3,CV_8U);
    //显示变换结果
    imwrite("/sdcard/DCIM/dist1.png",dist);
    imwrite("/sdcard/DCIM/dist_INV1.png",dist_INV);
}

图像黑白区域互换后进行距离变换的结果:

OpenCV(二十七):图像距离变换,Android之OpenCV,opencv,人工智能,计算机视觉,C++OpenCV(二十七):图像距离变换,Android之OpenCV,opencv,人工智能,计算机视觉,C++文章来源地址https://www.toymoban.com/news/detail-700834.html

到了这里,关于OpenCV(二十七):图像距离变换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenCV • c++】图像几何变换 | 图像仿射变换

    🚀 个人简介:CSDN「 博客新星 」TOP 10 , C/C++ 领域新星创作者 💟 作    者: 锡兰_CC ❣️ 📝 专    栏: 【OpenCV • c++】计算机视觉 🌈 若有帮助,还请 关注➕点赞➕收藏 ,不行的话我再努努力💪💪💪

    2024年02月16日
    浏览(47)
  • 【OpenCV实现图像:使用OpenCV进行图像处理之透视变换】

    透视变换(Perspective Transformation)是一种图像处理中常用的变换手段,它用于将图像从一个视角映射到另一个视角,常被称为投影映射。透视变换可以用于矫正图像中的透视畸变,使得图像中的物体在新的视平面上呈现更加规则的形状。 透视变换通常涉及到寻找图像中的特定

    2024年02月03日
    浏览(59)
  • [OpenCV学习笔记]Qt+OpenCV实现图像灰度反转、对数变换和伽马变换

    灰度反转是一种线性变换,是将某个范围的灰度值映射到另一个范围内,一般是通过灰度的对调,突出想要查看的灰度区间。 S = L − 1 − r ( r ⊂ [ 0 , L − 1 ] ) S = L -1-r (r subset [0,L-1]) S = L − 1 − r ( r ⊂ [ 0 , L − 1 ]) 比如在以下胸片图像中提取白色絮状形状,在黑色背景下看

    2024年04月13日
    浏览(48)
  • OpenCV构建交互式图像距离测量工具

    在计算机视觉和图形学应用中,准确测量图像上的点之间距离是一项常见且重要的任务。本篇技术博客将详细介绍如何利用Python编程语言和OpenCV库构建一个交互式的图像距离测量工具。我们将通过编写一个名为ImageProcessor的类,让用户能够在图像上点击选取点,并实时显示两

    2024年04月14日
    浏览(45)
  • (opencv)图像几何变换——缩放

    图像缩放是指将图像的尺寸变小或变大的过程,也就是减少或增加源图像数据的像素个数。图像缩放一定程度上会造成信息的丢失,因此需要考虑适宜的方法进行操作。 下面介绍两种常用的图像缩放方法的原理及实现 1.基于等间隔提取图像缩放 等间隔提取图像缩放是通过对

    2024年02月16日
    浏览(38)
  • OpenCV(十一):图像仿射变换

    目录 1.图像仿射变换介绍  仿射变换: 仿射变换矩阵: 仿射变换公式: 2.仿射变换函数 仿射变换函数:warpAffine() 图像旋转:getRotationMatrix2D() 计算仿射变换矩阵:getAffineTransform()  3.demo 1.图像仿射变换介绍  仿射变换:        仿射变换是由平移、缩放、旋转、翻转和错切组

    2024年02月10日
    浏览(51)
  • 【opencv】:图像的透视变换

    仿射变换(Affine Transformation或 Affine Map) , 又称为仿射映射, 是指在几何中, 图像进行从一个向量空间进行一次线性变换和一次平移, 变换为到另一个向量空间的过程。我们常说的仿射变换是透视变换的一个特例。 以上便是透视变换的原理图,即将源图像通过投影映射,

    2024年02月15日
    浏览(41)
  • OpenCV(图像颜色空间变换)

    目录 1、分类 1.1 RGB颜色模型  1.2 HSV颜色模型 1.3 GRAY颜色模型 2、图像数据类型间的相互转换  3 、颜色转换函数 RGBHSVGRAY颜色模型。 1.1 RGB颜色模型  1.2 HSV颜色模型 1.3 GRAY颜色模型 第四个参数使用例子:有一图像通道数为5,只需要用到前3个通道,就可以设置通道数为3  使

    2024年02月12日
    浏览(47)
  • OpenCv图像基本变换

    目录 一、图像翻转 二、图像旋转 三、仿射变换之平移 四、仿射变换之获取变换矩阵 五、仿射变换之透视变换 图像翻转不等同于旋转,类似于一些视频的拍摄,拍摄后实际是左右颠倒的,通过图像翻转可进行还原 案例代码如下: 函数原型: rotate(img,rotateCode) 案例代码如

    2024年02月16日
    浏览(23)
  • (opencv)图像几何变换——平移

    图像的平移操作是将图像的所有像素坐标进行水平或垂直方向移动,也就是将所有像素点按照给定的偏移量在水平方向沿x轴、垂直方向上沿y轴移动。平移变换分为两种类型:图像大小变化与图像大小不变。第一种类型保证图像平移的完整信息,第二种图像导致原始图像的部

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包