目录

一、基础理论

1.二进制阈值化

2.反二进制阈值化

3.截断阈值化

4.阈值化为0

5.反阈值化为0

函数

代码

效果

参考答案


一、基础理论

在二维数字图像中,其每个像素点对应了不同的像素值,其像素值各不相同。可以对像素值特定范围内的图像图像进行操作,划分这个范围的值就被称为图像阈值,它不是一个固定的量级,是根据每幅图像和处理要求动态改变。例如我们可以从图像中利用阈值分割出我们需要的部分。

例:

1.二进制阈值化

在运用二进制阈值化操作时,首先指定一个阈值量即像素的灰度值,遍历图像中像素值,大于这个阈值的像素均设置为最大像素值(如8位灰度值最大为255),灰度值小于设定阈值的像素点像素值重新赋值为0.得到如下图所示图像,借用二进制概念。(超过该阈值即为1(255),否则为0

2.反二进制阈值化

反二进制阈值化顾名思义就是与第一个阈值化类型相反。

与二进制阈值化相同的是也要首先指定一个阈值,不同的是在对图像进行阈值化操作时正好与二进制阈值化相反,当图像像素点超过这个阈值的时候像素点重新赋值为0,当像素值低于该阈值时即赋值为最大值。(低于该阈值即为1(255),否则为0

3.截断阈值化

根据给定的像素值阈值,图像中大于该阈值的像素点被重新设置为该阈值,而小于该阈值的像素值保持不变。(超过阈值部分设置为阈值

4.阈值化为0

 

与截断阈值化不同,阈值化为0类型像素点的灰度值如果大于该阈值则像素值不变,如果像素点的灰度值小于该阈值,则像素值设置为0。(不足阈值部分设置为0

5.反阈值化为0

其原理类似于阈值化为0类型只不过在对图像进行操作时相反,像素值大于该阈值的像素重新赋值为0,而小于该阈值的像素值则保持不变,(超过阈值部分设置为0

函数

threshold(gray, dst, threshold_value, threshold_max, type);//                阈值          最大值         类型

类型:

代码

//基本阈值操作
#include<opencv2/opencv.hpp>
#include<iostream>
#include<math.h>using namespace cv;
Mat src, gray, dst;
int threshold_value = 127;
int threshold_max = 255;
int type = 2;
int type_max = 4;
char name[] = "result";
void Callback_Thre(int, void*);         //回调函数void Image_Init()
{src = imread("Resource/test.jpg");if (!src.data){printf("could not load image...\n");return ;}imshow("原图", src);cvtColor(src, gray, COLOR_BGR2GRAY);imshow("GRAY", gray);
}int main(int argc, int argv)
{Image_Init();Callback_Thre(0, 0);createTrackbar("threshold value", name, &threshold_value, threshold_max, Callback_Thre);createTrackbar("threshold type", name, &type, type_max, Callback_Thre);waitKey(0);return 0;
}//阈值化实现函数
void Callback_Thre(int, void*)
{//阈值化(自主定义阈值)threshold(gray, dst, threshold_value, threshold_max, type);//阈值化(系统帮忙取,大津法OTSU:THRESH_OTSU;三角形阈值法:THRESH_TRIANGLE)//threshold(gray, dst, 0, 255, THRESH_OTSU | type);imshow(name, dst);
}

效果

参考答案

https://blog.csdn.net/keith_bb/article/details/54617625

https://blog.csdn.net/zhu_hongji/article/details/81536891

OpenCV(十四)图像阈值相关推荐

  1. opencv十四天入门学习——task1

    opencv十四天入门学习--task1 前言 1.计算机视觉简介 2.计算机视觉框架 2.1 传统框架 2.2 深度学习训练框架 2.3 深度学习部署框架 2.4 当前业界主流框架应用 3.open ...

  2. opencv十四天入门学习——task2

    opencv十四天入门学习--task2 前言 1.图像色彩空间转换 1.1 人眼可见光域 1.2 常见色彩空间 1.3 图像色彩转换 2.图像对象的创建与赋值 2.1 图像对象属性 2.2 图像创建 ...

  3. OpenCV图像处理(十二)---图像阈值化

    如果两个热力学系统中的每一个都与第三个热力学系统处于热平衡(温度相同),则它们彼此也必定处于热平衡.这一结论称做"热力学第零定律".又称热平衡定律,是热力学的四条基本定律之一,是一 ...

  4. OpenCV中的图像阈值处理算法

    简 介: 本文讨论了如何通过图像阈值算法来对图像中特点对接进行隔离. 演示了几种不同的阈值分割(全局阈值分割)算法的结果.对于最简单的阈值算法,通过改变其中的阈值可以获得不同的分割效果. 关键词: 阈 ...

  5. 【千律】OpenCV基础:图像阈值分割 -- 自适应阈值分割 -- 代码实现

    环境:Python3.8 和 OpenCV 内容:自适应阈值分割代码实现 import cv2 as cv import numpy as np import matplotlib.pyplot as ...

  6. 二维otsu算法python_【OpenCV+Python】图像阈值与OTSU算法

    图像阈值 自本教程开始,我们已经进入了图像处理的一些基本操作的学习,所谓的图像阈值,就是图像二值化.什么是二值化?就是只有0和1,没有其他的.在OpenCV的图像里面,二值化表示图像的像素为0和255 ...

  7. OpenCV系列之图像阈值 | 十五

    目标 在本教程中,您将学习简单阈值,自适应阈值和Otsu阈值. 你将学习函数cv.threshold和cv.adaptiveThreshold. 简单阈值 在这里,问题直截了当.对于每个像素,应用相同 ...

  8. [Python图像处理] 二十四.图像特效处理之毛玻璃、浮雕和油漆特效

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

  9. iOS核心动画高级技术(十四) 图像IO

    The idea of latency is worth thinking about. 潜伏期值得思考 - 凯文 帕萨特 在第13章"高效绘图"中,我们研究了和Core Grap ...

  10. iOS动画进阶(十四)图像IO

    图像IO 潜伏期值得思考 - 凯文 帕萨特 在第13章"高效绘图"中,我们研究了和Core Graphics绘图相关的性能问题,以及如何修复.和绘图性能相关紧密相关的是图像性能.在 ...

最新文章

  1. MEF: MSDN 杂志上的文章(9) 控制部件创建策略 ???
  2. 【C++】源自指针的报错
  3. Spring Boot 使用 AOP 防止重复提交
  4. [HEOI2013]ALO(待更)
  5. HDU 1358 Period KMP
  6. 每日一题_JavaScript.两种方式实现网页加载后onload绑定多个函数?
  7. Python学习总结(5)——字符串
  8. php获取毫秒级别时间戳及转换日期
  9. v-lazy懒加载的作用与使用
  10. 参心坐标系与地心坐标系
  11. appium通过坐标定位元素
  12. 2020最新部编人教小学语文状元大课堂课件教案习题全套
  13. 综合Synthesis
  14. 89.网络安全渗透测试—[常规漏洞挖掘与利用篇5]—[文件包含漏洞详解实战示例]
  15. 上传附件----q-uploader
  16. PDF编辑密码如何取消?
  17. python 视频与图片相互转换,以及一系列图像操作
  18. SpreadJS 纯前端表格控件应用案例:畅捷通财务T-UFO报表
  19. (转)SCI写作技巧
  20. Spring——三级缓存解决循环依赖详解

热门文章

  1. Unparseable date: 2015-8-8
  2. 小程序加载大图片 使用widthFix时,图片先拉伸然后才显示完全
  3. win10+Linux双系统安装及一些配置问题
  4. java后台的微信小程序支付的解决方案
  5. BZOJ1597: [Usaco2008 Mar]土地购买(dp 斜率优化)
  6. spec 2016使用
  7. OpenCV矩阵运算
  8. Linux常用压缩与解压缩命令
  9. iOS-c语言小练习01
  10. 做acm 需要学的算法