zoukankan      html  css  js  c++  java
  • 阈值二值化

    五种类型阈值二值化

     

     

     

     

     

     代码:

    #include <opencv2/opencv.hpp>
    #include <iostream>
    #include <math.h>
    
    using namespace cv;
    Mat src, gray_src, dst;
    int threshold_value = 127;
    int threshold_max = 255;
    int type_value = 2;
    int type_max = 4;
    const char* output_title = "binary image";
    void Threshold_Demo(int, void*);
    int main(int argc, char** argv) {
        src = imread("L:/4.jpg");
        if (!src.data) {
            printf("could not load image...
    ");
            return -1;
        }
        namedWindow("input image", CV_WINDOW_AUTOSIZE);
        namedWindow(output_title, CV_WINDOW_AUTOSIZE);
        imshow("input image", src);
    
        createTrackbar("Threshold Value:", output_title, &threshold_value, threshold_max, Threshold_Demo);
        createTrackbar("Type Value:", output_title, &type_value, type_max, Threshold_Demo);
        //参数:1.滑动空间名称  2.滑动依附的图像窗口名称 3.初始化阈值  4.滑动控件的刻度刻度范围  5.回调函数hreshold_Demo
        Threshold_Demo(0, 0);
    
        waitKey(0);
        return 0;
    }
    
    void Threshold_Demo(int, void*) {
        cvtColor(src, gray_src, CV_BGR2GRAY);
        threshold(gray_src, dst, threshold_value, threshold_max, type_value);  //五种方法通过type_value选择显示
        //threshold(gray_src, dst, threshold_value, threshold_max, THRESH_BINARY);   THRESH_中的第一种方法
        imshow(output_title, dst);
    }

    原图:

     结果:

     

     

     

     

  • 相关阅读:
    23种设计模式-桥接模式
    23种设计模式-单列模式
    23种设计模式-迭代器模式
    23种设计模式-组合模式
    23种设计模式-备忘录模式
    23种设计模式-适配器模式
    23种设计模式-状态模式
    SVN的安装和应用
    线程、线程池
    条形码
  • 原文地址:https://www.cnblogs.com/Jack-Elvis/p/11440571.html
Copyright © 2011-2022 走看看