如果两个热力学系统中的每一个都与第三个热力学系统处于热平衡(温度相同),则它们彼此也必定处于热平衡。这一结论称做“热力学第零定律”。又称热平衡定律,是热力学的四条基本定律之一,是一个关于互相接触的物体在热平衡时的描述,以及为温度提供理论基础。

科普

知识

前言

在上期的文章中,我们简要学习了有关图像梯度的知识,中间用数学知识进行了解读,最后用一句话进行了概括,今天,我们将继续学习图像的有关知识--图像阈值化(二值化)。

一、图像阈值化

图像阈值化(也叫二值化),就是将图像上每一个像素点的像素值设置为一个定值,一般为0(黑色)或者白色(255),最后整个图像将会表现出出黑和白的观察效果。

  通常情况下,一幅图像糊了包含目标物体、还会包含背景和各种噪声(阈值化后噪声可能就是一些小白点),想要得到目标物体,常用的方法就是设定一个阈值,用阈值将图像的像素分割成两部分:大于阈值的像素和小于T的像素,所以也称为图像的二值化。

1.1 原始图像

 (夜幕降临的城市)

1.2 代码实践

import cv2
import numpy as np# OpenCV阈值化函数实践
def img_thres(coor_image):# 根据官方解释,第一步图像输入必须是灰度图像,image_gray = cv2.cvtColor(coor_image, 0)# 显示原始图像,后面进行对比cv2.imshow("src_image", image_gray)#-----------------实例一----------------------#函数第四个参数采用 cv2.THRESH_BINARY_INV# 阈值为50,大于50的像素值设定为0, 小于的就是200what1, image_thresh_50 = cv2.threshold(image_gray, 50, 200, cv2.THRESH_BINARY_INV)print("what1:{}".format(what1))cv2.imshow("dst_thresh_50", image_thresh_50)#-----------------实例二----------------------# 函数第四个参数采用cv.THRESH_BINARY# 阈值为30,大于30的的像素值设定为230(一般为白色) 小于30的就是0像素值what2, image_thresh_30 = cv2.threshold(image_gray, 30, 230, cv2.THRESH_BINARY)#打印看看返回值是啥?print("what2:{}".format(what2))cv2.imshow("dst_thresh_30", image_thresh_30)# #-----------------实例三----------------------#函数第四个参数采用 cv2.THRESH_TRUNC# 截断 大于70的像素值设定为70  小于70的像素不变what3, image_thresh_70 = cv2.threshold(image_gray, 70, 180, cv2.THRESH_TRUNC)print("what3:{}".format(what3))cv2.imshow("dst_thresh_70", image_thresh_70)# #-----------------实例四----------------------# 截断 小于140的像素值设定为140  大于140的像素值不变what4, image_thresh_140 = cv2.threshold(image_gray, 140, 200, cv2.THRESH_TOZERO)print("what4:{}".format(what4))cv2.imshow("dst_thresh_140", image_thresh_140)if __name__ == '__main__':coor_image = cv2.imread("./1.jpg")img_thres(coor_image)cv2.waitKey(0)cv2.destroyAllWindows()

在opencv的教程网站中,我们能够找到这样一段话:If pixel value is greater than a threshold value, it is assigned one value (may be white), else it is assigned another value (may be black).First argument is the source image, which should be a grayscale image. Second argument is the threshold value which is used to classify the pixel values. Third argument is the maxVal which represents the value to be given if pixel value is more than (sometimes less than) the threshold value.

总结上述:

cv2.threshold(src, thresh, maxval, type, dst=None)

第一个参数  src :   指原图像(根据上述英文原图像应该是灰度图)。

第二个参数   x   :   阈值大小(超过或低于这个大小都会被处理)。

第三个参数   y   :   最大值(当超过或低于第二个参数时,一般就设定为第三个值)

第四个参数   Methods     :那到底是低于设定为最大值还是高于设定为最大值呢,就看第三个参数的类型了。

method阈值类型一般有以下几种:

cv2.THRESH_BINARY——大于阈值的部分像素值变为最大值,其他变为0

cv2.THRESH_BINARY_INV——大于阈值的部分变为0,其他部分变为最大值

cv2.THRESH_TRUNC——大于阈值的部分变为阈值,其余部分不变

cv2.THRESH_TOZERO——大于阈值的部分不变,其余部分变为0

cv2.THRESH_TOZERO_INV——大于阈值的部分变为0,其余部分不变

附上一张图片,以便观察:

其中dst表示目标图像,src表示原始图像,将原始图像的单个像素与阈值作比较,超过限定的原始原始像素变为相应的最大值或0(也就是目标像素是0或最大值)

1.3 效果展示

(各种阈值化操作后的结果)

结语

今天的分享到此结束了,阈值化操作很实用哦,特别是以后的去除噪点,图像分割等等都会涉及到一定的阈值操作,大家一定好学会哦。

我们下期再见!

编辑:玥怡居士|审核:小圈圈居士

往期精彩回顾

OpenCV图像处理(十一)---图像梯度

OpenCV图像处理(十)---图像开运算VS闭运算

OpenCV图像处理(九)---图像腐蚀VS膨胀

扫码关注更多精彩

点亮在看,你最好看!

OpenCV图像处理(十二)---图像阈值化相关推荐

  1. [Python图像处理] 十二.图像几何变换之图像仿射变换、图像透视变换和图像校正

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  2. python图像下采样_[Python图像处理]十二.图像向下取样和向上取样

    图像向下取样 在图像向下取样中,使用最多的是高斯金字塔.它将对图像Gi进行高斯核卷积,并删除图像中所有的偶数行和列,最终缩小图像,其中高斯卷积核运算就是对整幅图像进行加权平均的过程,每一个像素点的值, ...

  3. OpenCV与Python之图像阈值化

    https://blog.csdn.net/qq_33757398/article/details/88911241 https://www.cnblogs.com/jyxbk/p/9638541.h ...

  4. python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换

    [Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...

  5. 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  6. OpenCV与图像处理学习十二——图像形状特征之HOG特征

    OpenCV与图像处理学习十二--图像形状特征之HOG特征 一.图像特征理解 1.1 颜色特征 1.2 纹理特征 1.3 形状特征 1.4 空间关系特征 二.形状特征描述 2.1 HOG特征 2.1. ...

  7. [Python图像处理] 七.图像阈值化处理及算法对比

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  8. OpenCV与图像处理学习二——图像直方图与色彩空间

    OpenCV与图像处理学习二--图像直方图与色彩空间 2.4 图像直方图(Image Histogram) 2.4.1 直方图的绘制 2.4.2 三通道直方图绘制 2.5 颜色空间 2.5.1 RGB ...

  9. python图像处理笔记-十二-图像聚类

    python图像处理笔记-十二-图像聚类 学习内容 这一章主要在学习的是聚类算法以及其在图像算法中的应用,主要学习的聚类方法有: KMeans 层次聚类 谱聚类 并将使用他们对字母数据及进行聚类处理, ...

最新文章

  1. Java学习笔记:内部类/匿名内部类的全面介绍
  2. 关于VC中的stdafx.h
  3. 洛谷 P2746 [USACO5.3]校园网Network of Schools
  4. C语言关键字--volatile(不稳定的,反复无常的)
  5. 同步通信和异步通信区别
  6. 832. Flipping an Image
  7. [转载]Scikit Learn: 在python中机器学习
  8. upload-labs_pass12_文件名截断_URL要编码为%00_pass13_文件名截断_Hex修改为00
  9. 【转载】关于测试人员的职业发展
  10. vue warning如何去掉_详解 vue 组件三大核心概念
  11. tomcat java内存_[Tomcat]Java内存溢出详解Tomcat内存设置
  12. http://blog.51cto.com/forsk/1531568
  13. php机械相关毕业设计,PHP+MySQL毕业设计选题管理系统(含论文)
  14. 面试总结系列(一)------ 国际化中台事业部
  15. 4234最小差值生成树
  16. css 设置层级关系,css层级关系怎么设置
  17. 菜 根 谭 [明] 洪应明
  18. G003-186-07
  19. 正点原子stm32F407学习笔记4——按键输入实验
  20. 系统集成项目管理工程师计算题(沟通渠道)

热门文章

  1. 跟同事弃用webpack一次 体积减少了10倍
  2. 教师利用计算机教室培训的简报,校园全体计算机教师教研会议简报范文
  3. html多个倒计时,倒计时(支持多个).html
  4. 50道简单易学的家常菜谱(附图) - 生活至上,美容至尚!
  5. LaTeX软件的安装和使用
  6. 设计模式沉思录 - 读书笔记(XMind)
  7. 深度学习传感器融合技术在自动驾驶汽车感知与定位中的应用研究进展
  8. Android 工程测试模式CQATEST
  9. RTSP+RTP协议浅析
  10. ubuntu的简单搜索命令