0x00. 图像二值化

图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。

将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。

图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。

0x01. 图像二值化处理

在将图像二值化之前需要将其先灰度化,示例代码:

import cv2.cv as cv
image = cv.LoadImage('mao.jpg')new = cv.CreateImage(cv.GetSize(image), image.depth, 1)
for i in range(image.height):for j in range(image.width):new[i,j] = max(image[i,j][0], image[i,j][1], image[i,j][2])cv.Threshold(new, new, 10, 255, cv.CV_THRESH_BINARY_INV)
cv.ShowImage('a_window', new)
cv.WaitKey(0)

0x02. cv.Threshold

cv.Threshold(src, dst, threshold, maxValue, thresholdType)

函数 cvThreshold 对单通道数组应用固定阈值操作。

该函数的典型应用是对灰度图像进行阈值操作得到二值图像。

参数说明:

src:原始数组 (单通道 , 8-bit of 32-bit 浮点数)。
dst:输出数组,必须与 src 的类型一致,或者为 8-bit。
threshold:阈值
maxValue:使用 CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV 的最大值。
threshold_type:阈值类型
threshold_type=CV_THRESH_BINARY:如果 src(x,y)>threshold ,dst(x,y) = max_value; 否则,dst(x,y)=0;
threshold_type=CV_THRESH_BINARY_INV:如果 src(x,y)>threshold,dst(x,y) = 0; 否则,dst(x,y) = max_value.
threshold_type=CV_THRESH_TRUNC:如果 src(x,y)>threshold,dst(x,y) = max_value; 否则dst(x,y) = src(x,y).
threshold_type=CV_THRESH_TOZERO:如果src(x,y)>threshold,dst(x,y) = src(x,y) ; 否则 dst(x,y) = 0.
threshold_type=CV_THRESH_TOZERO_INV:如果 src(x,y)>threshold,dst(x,y) = 0 ; 否则dst(x,y) = src(x,y).  

Python-OpenCV 处理图像(八):图像二值化处理相关推荐

  1. Python+OpenCV图像处理(五)——图像阈值和二值化

    系列文章 Python+OpenCV图像处理(一)--OpenCV框架与图像插值算法 Python+OpenCV图像处理(二)--几何变换 Python+OpenCV图像处理(三)--彩色空间互换 P ...

  2. cv2 inrange灰度图_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...

    title: [python]基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析 type: categories copyright: true categories ...

  3. opencv 轮廓放大_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...

    title: [python]基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析 type: categories copyright: true categories ...

  4. 图像灰度、二值化、膨胀和腐蚀(纯Java篇)

    在c.c++或者python环境中可以使用opencv非常容易实现图像灰度.二值化.膨胀和腐蚀等功能:但在java环境中,使用opencv来处理相对比较麻烦,简单的操作用opencv处理也相对过重,这 ...

  5. 图像预处理(二值化)

    图像预处理(二值化) 本文的实验是主要通过opencv与python3实现,相关的代码可以在GitHub中找到. 1. 图像获取与灰度化 通过摄像头获取到的图像为彩色的图像.彩色图像主要分为两种类型, ...

  6. java图像灰度直方图_图像灰度变换、二值化、直方图

    1.灰度变换 1)灰度图的线性变换 Gnew = Fa * Gold + Fb. Fa为斜线的斜率,Fb为y轴上的截距. Fa>1 输出图像的对比度变大,否则变小. Fa=1 Fb≠0时,图像的 ...

  7. 【Matlab 图像】灰度二值化处理

    灰度运算 grayimg = rgb2gray(flag_yellow); % 灰度图像 二值化运算 BWimg = im2bw(grayimg, 0.8); 自动化阈值 T = graythresh ...

  8. java用opencv实现滤镜_opencv滤镜-二值化实现黑白滤镜

    黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...

  9. opencv学习5——大律二值化(ostu)

    opencv中有多种方法进行图像的二值化,前面的3中直接设置二值化的阈值,比较粗暴无脑,而且用人眼看的话根本看不出来最佳阈值,因此人为的设置阈值是一种很不科学不严谨的方法,在opencv中ostu二值 ...

  10. 二值化图像的欧拉数_Android OpenCV(八):图像二值化

    图像二值化 简介 图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程.在数字图像处理中,二值图像占有非常重要的 ...

最新文章

  1. R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能
  2. 数字治理转型与公共卫生治理能力现代化调查项目
  3. 上古卷轴5python_基于Python-Flask的权限管理5:字典管理
  4. torchvision 笔记:transforms.Normalize()
  5. 送出orkut邀请,当然如果需要gmail邀请,还有很多
  6. 反射通过配置文件运行的步骤
  7. ABAP workbench API的使用方法
  8. 数据分析之超市订单分析
  9. OpenCL memory object 之 Global memory (2)
  10. RTX移植到STM32F103
  11. 关于日期 显示当前日期
  12. 【cs231】反向传输与神经网络
  13. A visual proof that neural nets can compute any function
  14. android 融云数据库路径,Android开发规范
  15. 网络安全思维导图(全套11张)
  16. 读书笔记期货市场技术分析
  17. IMDG中的陷阱和问题
  18. python人工智能入门纳米学位_学习笔记(一) - 机器学习纳米学位
  19. python tensorflow学习笔记(五)矩阵乘法运算
  20. opencv程序十一:鼠标绘图

热门文章

  1. 主流的Python领域和框架--转
  2. chrome的全局搜索快捷键
  3. Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers
  4. jquery学习手记(3)属性
  5. android path 详解
  6. 【Python】json
  7. 【采用】【风险管理】金融业务风控相关框架(宝藏)
  8. 详细的mongo工具手册,包含常见CURD+条件操作+聚合+案例
  9. 重庆市推进组建区块链数字资产交易所
  10. 华为诺亚方舟实验室主任李航:神经符号处理开启自然语言处理新篇章