opencv:自适应阈值



#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
    Mat src = imread("f:/images/shuang001.jpg");
    if (src.empty())
    {
        printf("Could not find the image!\n");
        return -1;
    }
    namedWindow("input", WINDOW_AUTOSIZE);
    imshow("input", src);
    Mat gray, binary;
    cvtColor(src, gray, COLOR_BGR2GRAY);
    imshow("gray", gray);
    // 均值分割
    Scalar m = mean(gray);
    printf("means: %.2f\n", m[0]);
    threshold(gray, binary, m[0], 255, THRESH_BINARY);
    imshow("binary", binary);
    // 直方图
    threshold(gray, binary, 0, 255, THRESH_BINARY | THRESH_OTSU);
    // 自适应阈值二值化
    adaptiveThreshold(gray, binary, 255, ADAPTIVE_THRESH_GAUSSIAN_C, THRESH_BINARY, 25, 10);
    imshow("ADAPTIVE_THRESH_GAUSSIAN_C ", binary);
    adaptiveThreshold(gray, binary, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 25, 10);
    imshow("ADAPTIVE_THRESH_MEAN_C ", binary);
    waitKey(0);
    destroyAllWindows();
    return 0;
}
opencv:自适应阈值的更多相关文章
- opencv——自适应阈值Canny边缘检测
		前言 Canny边缘检测速度很快,OpenCV中经常会用到Canny边缘检测,以前的Demo中使用Canny边缘检测都是自己手动修改高低阈值参数,最近正好要研究点小东西时,就想能不能做个自适应的阈值, ... 
- Opencv step by step - 自适应阈值
		上个博客提到的阈值化只是针对图像全局进行阈值化,opencv提供了一个更好的函数cvAdaptiveThreshold,可以做到局部特征的阈值化,这样一来, 整个图像的信息可以被更好的提取. #inc ... 
- opencv —— threshold、adaptiveThreshold 固定阈值 & 自适应阈值 进行图像二值化处理
		阈值化 在对图像进行处理操作的过程中,我们常常需要对图像中的像素做出取舍与决策,直接剔除一些低于或高于一定值的像素. 阈值分割可以视为最简单的图像分割方法.比如基于图像中物体与背景之间的灰度差异,可以 ... 
- opencv中自适应阈值函数的实现(c++)
		根据<面向飞机蒙皮接缝的线结构光检测技术研究_张卡>论文中的原理,编写了自适应阈值函数 原理: //计算灰度最大最小值 void MaxGrayValue(Mat image,int &a ... 
- python-opencv 图像二值化,自适应阈值处理
		定义:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果. 一幅图像包括目标物体.背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用 ... 
- OpenCV_基于局部自适应阈值的图像二值化
		在图像处理应用中二值化操作是一个很常用的处理方式,例如零器件图片的处理.文本图片和验证码图片中字符的提取.车牌识别中的字符分割,以及视频图像中的运动目标检测中的前景分割,等等. 较为常用的图像二值化方 ... 
- 自适应阈值分割—大津法(OTSU算法)C++实现
		大津法是一种图像灰度自适应的阈值分割算法,是1979年由日本学者大津提出,并由他的名字命名的.大津法按照图像上灰度值的分布,将图像分成背景和前景两部分看待,前景就是我们要按照阈值分割出来的部分.背景和 ... 
- opencv图像阈值操作
		使用threshold方法和adaptivethreshold方法对图像进行阈值分割操作. 1.使用threshold方法,设置一个阈值,将大于阈值的值变换为最大值,小于阈值的值变换为0. #-*- ... 
- adaptiveThreshold(自适应阈值)
		void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue, int adaptiveMethod, int thr ... 
随机推荐
- java 日期累加,如何求一年后日期,一月后日期,一周后日期和一天后日期
			import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import ja ... 
- ContestHunter  1201 最大子序和
			描述 输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7当m=2或m=3时,S=5+1=6 输入 ... 
- 原生js判断设备类型
			var u = navigator.userAgent; //Android终端 var isAndroid = u.indexOf('Android') > -1 || u.indexOf(' ... 
- vue加载单文件使用vue-loader报错
			报错信息如下:ERROR in ./src/login.vue Module Error (from ./node_modules/vue-loader/lib/index.js): vue-load ... 
- [P4450] 双亲数 - 莫比乌斯反演,整除分块
			模板题-- \[\sum\limits_{i=1}^a\sum\limits_{j=1}^b[(i,j)=k] = \sum\limits_{i=1}^a\sum\limits_{j=1}^b[k|i ... 
- Dataset: online data
			From Kaggle: Appliances Energy Prediction Energy consumption of the Netherlands International Energy ... 
- TCL 字典
			https://www.yiibai.com/tcl/tcl_dictionary.html 词典是用于值映射到建的布置. 常规字典的语法: dict set dictname key value ... 
- mybatis(五):源码分析 - mapper文件加载流程
- Java上转型和下转型
			Java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象. 什么叫父类引用指向子类对象,且听我慢慢道来. 从2个名词开始说起:向上转型(upcasting) .向下转型(downcasti ... 
- 面向对象的封装、继承和多态特性_python
			一.面向对象的几个特点 面向对象也称为类,拥有下面几个特点 1.封装特性:利用类的__init__(self)构造方法封装对象 构造方法:__init__(self):在生成对象的时候会自动调用 例子 ... 
