关于OpenCV4中的函数threshold(),之前已经写过博文介绍了,详情见下面的链接:
利用OpenCV的函数threshold()实现双阈值二值化操作的C++代码
半阈值化的原理、作用及利用函数OpenCV的函数threshold()实现半阈值化的方法
利用OpenCV的函数threshold()对图像作基于OTSU的阈值化处理

这篇博文主要是提醒大家函数threshold()的Python版本的返回值有两个。

首先我们再来回顾下它的C++原型,其C++原型是没有返回值的:

double cv::threshold(InputArray src,OutputArray  dst,double  thresh,double   maxval,int  type )

可见,C++原型的确是没有返回值的。
但C++原型没有返回值不代表Python版没有,Python版的原型如下:

retval, dst  = cv.threshold(    src, thresh, maxval, type[, dst])

从中,我们可以看出有两个返回值,分别为retval和dst。
dst的含义自不必说,就是二值化处理的图像。
retval的含义为函数threshold()在进行二值化处理时使用的阈值的数值。

第二个参数retval我们一般是不用的,如果我们不想用第二个参数retval,那怎么办呢?
像下面这样书写代码就行了:

_, B1_step06_1 = cv.threshold(B1_step06_1, 150, 255, cv.THRESH_BINARY)

即把第一个返回值用名字为下划线"_"的变量存储。

如果你把上面的代码写成下面这样:

B1_step06_1 = cv.threshold(B1_step06_1, 150, 255, cv.THRESH_BINARY)

则这句代码运行时不会报错,但是后续对二值化图像B1_step06_1的调用会出问题,此时B1_step06_1不再是一幅二值化的图像,而是包含了两个元素的元组,元组的第0个元素是返回值retval,第2个元素才是二值化后的图像,如下图所示:

Python-OpenCV4中的阈值二值化函数threshold(),要特别注意其返回值有两个相关推荐

  1. 详解图像二值化 函数threshold

    在图像处理过程中,一般经常会用到图像的二值化函数 threshold 在日常使用中,虽然理解二值化的含义,但是具体函数的参数的定义还不是很清楚,下面简单纪录一下,增强记忆. threshold( In ...

  2. Opencv java 二值化函数threshold (10)

    函数理解 threshold 英语的意思是门槛,门槛的意思说要么在门槛外,要么在门槛内,并且门槛具有一定的条件要求 接下来我们看在opencv中如何使用该函数 Imgproc.threshold(sr ...

  3. 二值化函数Threshold

    Threshold函数: 函数的调用方式: void cvThreshold( const CvArr* src, CvArr* dst, double threshold,double max_va ...

  4. OpenCV:二值化函数cv2.threshold

    目录 功能作用: (一)简单阈值 (二)自适应阈值: (三)Otsu's二值化 功能作用: 二值化函数作用:图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效 ...

  5. 图像二值化 cv2.threshold

    图像二值化 cv2.threshold http://docs.opencv.org/master/d7/d4d/tutorial_py_thresholding.html (一)简单阈值 impor ...

  6. 计算机视觉(1)关于cvThreshold二值化函数

    计算机视觉(1)关于cvThreshold二值化函数 opencv中文说明中是这样说的: Threshold 对数组元素进行固定阈值操作 void cvThreshold( const CvArr* ...

  7. 二值化函数cvThreshold()参数CV_THRESH_OTSU的疑惑

    查看OpenCV文档cvThreshold(),在二值化函数cvThreshold(const CvArr* src, CvArr* dst, double threshold, double max ...

  8. 二值化函数cvThreshold()参数CV_THRESH_OTSU的疑惑【转】

    查看OpenCV文档cvThreshold(),在二值化函数cvThreshold(const CvArr* src, CvArr* dst, double threshold, double max ...

  9. Matlab中一维和二维滤波函数及其典型用法【随时更新】

    Matlab中一维和二维滤波函数及其典型用法[随时更新] 一维滤波函数 均值滤波器movmean 中值滤波器movmedian 二维滤波函数 用fspecial预定义各种二维滤波器 主要用于自查,如果 ...

  10. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

最新文章

  1. java 获取已有字体,java获取本机全部可用字体
  2. Hello World程序里居然有bug!
  3. Microsoft宣布发布GA版Azure Event Grid
  4. [20170728]oracle保留字.txt
  5. AngularJS:如何使用自定义指令来取代ng-repeat
  6. **16.app后端如何保证通讯安全--url签名
  7. c语言程序设计电加热炉,基于80C52单片机的电加热数字恒温控制系统设计
  8. VC++ 限制窗口的大小范围的方法
  9. u盘检测工具哪个好用_惠普打印机哪个型号好 惠普打印机型号介绍【推荐】
  10. vuejs+webpack环境搭建
  11. 米洛个人修炼术:注意这三方面,天天都早起
  12. java生存pdf资料
  13. 医疗行业做好百度竞价的五大技巧
  14. 怎么打包python环境_python环境搭建和打包
  15. excel条形图-蝴蝶图的画法
  16. php外边框样式,CSS的边框样式
  17. ES集群安全重启节点的正确方法
  18. kartoSLAM报错 transform_tolerance修改解决
  19. 5分钟理解令人叫绝的认知偏误
  20. CSS # 通过CSS使图片颜色反转

热门文章

  1. php元换成万元,万元单位换算器(元换算成万元换算器)
  2. 【C/C++】STL详解
  3. Web前端:HTML5 CSS3
  4. Win11重启快捷键是什么?
  5. android 微博 登录,Android第三方登录之微博登录
  6. cdrom是什么意思_CD-ROM是什么意思
  7. notepad 打开php乱码,notepad++打开dll是乱码
  8. 数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。
  9. 费氏数列 中第n项数值的计算并打印
  10. DCMTK实现Dicom CT图片读取CT值图像