openCV中convertTo的用法

convertTo函数一般用于CV_32s转为CV_8U:
原函数解析:
src.convertTo(dst, type, scale, shift)
缩放并转换到另外一种数据类型:
dst:目的矩阵;
type:需要的输出矩阵类型,或者更明确的,是输出矩阵的深度,如果是负值(常用-1)则输出矩阵和输入矩阵类型相同;
scale:比例因子;
shift:将输入数组元素按比例缩放后添加的值;

dst(i)=src(i)xscale+(shift,shift,…)

如果scale=1,shift=0,则不进行比例缩放。

场景应用一:
在应用分水岭算法分割图像时,标记图像为32位有符号整型CV_32S变量构成的矩阵markers(其中像素值有-1,1,2,3……),由于imshow()函数无法显示,想要将标记图像显示出来必须转换其数据类型。
1、CV_32s转为CV_8U

watershed(src, label_img);//显示图像double maxVal = 0;double minVal = 0;minMaxLoc(label_img, &minVal, &maxVal);Mat dst = Mat::zeros(src.size(), CV_8U);label_img.convertTo(dst, CV_8U, 255.0 / (maxVal - minVal), 0);imshow("marks", dst);

第三个参数:
如果label_img中的数是(3,2,2,-1)
则对应的((3*(255/4)),(2*(255/4)),(1*(255/4)),-1*(255/4)),
在取整为:(191,127,63,0)
在CV_8U中大于255的为255,小于0的为0
其中第4个参数,可以根据视觉效果添加.

2、CV_8U转为CV_32

dst.convertTo(label_img, CV_32s, 1.0/255, -1);

如果按照上面dst(191,127,63,0);则label_img(3.25,1.99,1.2,-1)

3、也可通过normalize和converScaleAbs结合

normalize(label_img,dst,0,255,NORM_MINMAX,CV_32FC1,Mat())
converScaleAbs(dst,dst);

c++和opencv小知识:openCV中convertTo的用法相关推荐

  1. 小知识 | Java中的“魔数”

    转载自 小知识 | Java中的"魔数" 在编程过程中,我们可能经常听到"魔数"这个词,那么这个词到底指的是什么呢?什么数叫做魔数呢? 一.标识文件类型的&qu ...

  2. openCV中convertTo的用法1

    convertTo的用法 src.convertTo(dst, type, scale, shift) img参数为图像数据来源,其类型为Mat. 注意也不是所有格式的Mat型数据都能被使用保存为图片 ...

  3. c语言冷门小知识,生活中的冷门小知识有哪些

    其实生活中充满了冷门知识,比如喝醋能够防止晕车.花生可以祛牙黄等等.下面是学习啦小编为大家整理的关于生活中的冷门小知识,希望大家喜欢! 生活中的冷门小知识 洗衣机强档比弱档节能 很多人没注意,在同样长 ...

  4. python中函数的参数_Python小知识-Python中的函数参数(基础篇)

    0 总述 这个题目分为2篇,第一篇基本上是概念以及实例,有个相对系统的认识,第二篇想写的深入一些,不同参数类型的区别以及和c/c++的函数参数对比下异同-下面开始是第一篇的内容啦- Python中的函 ...

  5. NPDP产品经理小知识:新产品开发中的管道管理

    [Product Pipeline/(产品)管道] (产品)管道:将开发产品投放市场的预定途径. [Pipeline Management / 管道管理 ] 管道管理:将产品战略.项目管理和职能管理整 ...

  6. vue 中indexof_前端小知识-Vue中使用indexOf() 方法

    定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法 stringObject.indexOf(searchvalue,fromindex) 参数描述searc ...

  7. 一天一个小知识-- kt中的object关键字

  8. 小谈EasyUI中的tree用法

    不知不觉10月都结束了,又要到年底了.看看自己上次写过的文章后,已经2个月都没写东西了.真的是太忙了,本应该有好多东西可以写,但是没什么闲时间,每次想到写的时候,来点事就又给忘了.10月最后一天了,在 ...

  9. iOS开发小知识之正则表达式的简单用法

    关于正则表达式,百度百科中是这样说的 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表 ...

  10. flask中的CBV , flask-session在redis中存储session , WTForms数据验证 , 偏函数 , 对象里的一些小知识...

    flask中的CBV , flask-session在redis中存储session , WTForms数据验证 , 偏函数 , 对象里的一些小知识 flask中的CBV写法 后端代码 # 导入vie ...

最新文章

  1. python支持保护类型_day14总结-内置类属性、私有化、保护及继承
  2. java初学者笔记总结day9
  3. python面试题及答案-Python 45道基本面试题及答案 (新手非常有用)
  4. leetcode 450. 删除二叉搜索树中的节点 c语言实现
  5. 数据分片排序oracle,Oracle数据库的优化
  6. 宇宙总统pascal程序
  7. 【old】简单易用的鹰眼类源代码下载
  8. spring boot新建非web项目(无需依赖)
  9. Tensorflow函数学习笔记2---tf.multipy和tf.matmul
  10. CSDN、博文视点名家讲坛之夏昕、林信良谈Spring框架
  11. 远程唤醒、WOL、Magic_Packet
  12. 以太坊执行层P2P网络架构与设计:Discv5
  13. 计算机网络-网络边缘
  14. 腾讯企业版邮箱服务器类型,腾讯邮箱企业版怎样开通,企业邮箱服务器系统申请...
  15. 学python千万别想当然
  16. 2016 Micu课堂王铎UI图标设计特训班高级高清原版教程
  17. RUNA WFE,workflow environment based on JBoss' JBPM engine
  18. Docker搭建数据库监控工具Lepus
  19. 基于K8S的OpenStack部署实践
  20. Python一些技巧

热门文章

  1. 标准9针串口引脚定义
  2. java 偏向锁_Java 中的偏向锁、轻量级锁和重量级锁
  3. 前端高效开发不得不知道的一些JavaScript库!
  4. centOS7 更改主机名localhost.localdomain
  5. spring-boot集成kafka(包含zookeeper和kafka的下载介绍)
  6. 代数法化简逻辑函数方法集合
  7. python排版word文档 效率,【效率工具】用Python根据excel中数据批量生成word文档(适用劳...
  8. ADS(Advanced Design system)仿真对电路进行阻抗匹配
  9. ps自定义(新建)图框工具
  10. [CSCCTF 2019 Qual]FlaskLight