当前位置:网站首页>Opencv learning example code 3.2.3 image binarization

Opencv learning example code 3.2.3 image binarization

2022-07-06 20:53:00 Terror blade

#include <opencv2/objdetect.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <iostream>
#include <iomanip>
#include <opencv2/opencv.hpp>
#include <vector>
#include <opencv2/imgproc/types_c.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
   cout<<"1234"<<endl;

    Mat img=imread("lena.png");
    if(img.empty())
    {
        cout<<"open error"<<endl;
        return -1;
    }
    Mat gray;
    cvtColor(img,gray,COLOR_BGR2GRAY);

    Mat img_B ,img_B_V,gray_B,gray_B_V,gray_T,gray_T_V,gray_TRUNC;
    threshold(img,img_B,125,255,THRESH_BINARY);
    threshold(img,img_B_V,125,255,THRESH_BINARY_INV);
    imshow("img_B",img_B);
    imshow("img_B_V",img_B_V);

    threshold(gray,gray_B,125,255,THRESH_BINARY);
    threshold(gray,gray_B_V,125,255,THRESH_BINARY_INV);
    imshow("gray_B",gray_B);
    imshow("gray_B_V",gray_B_V);

    threshold(gray,gray_T,125,255,THRESH_TOZERO);
    threshold(gray,gray_T_V,125,255,THRESH_TOZERO_INV);
    imshow("gray_T",gray_T);
    imshow("gray_T_V",gray_T_V);

    threshold(gray,gray_TRUNC,125,255,THRESH_TRUNC);
    imshow("gray_TRUNC",gray_TRUNC);

    Mat img_Thr=imread("threshold.png",IMREAD_GRAYSCALE);
    Mat img_Thr_O,img_Thr_T;
    threshold(img_Thr,img_Thr_O,100,255,THRESH_BINARY|THRESH_OTSU);
    threshold(img_Thr,img_Thr_T,100,255,THRESH_BINARY|THRESH_TRIANGLE);
    imshow("img_Thr_O",img_Thr_O);
    imshow("img_Thr_T",img_Thr_T);

    Mat adaptive_mean,adaptive_gauss;
    adaptiveThreshold(img_Thr,adaptive_mean,255,ADAPTIVE_THRESH_MEAN_C,THRESH_BINARY,55,0);
    adaptiveThreshold(img_Thr,adaptive_gauss,255,ADAPTIVE_THRESH_GAUSSIAN_C,THRESH_BINARY,55,0);
    imshow("adaptive_mean",adaptive_mean);
    imshow("adaptive_gauss",adaptive_gauss);

    waitKey(0);
    return 0;
}

原网站

版权声明
本文为[Terror blade]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202131142128200.html