2019-07-13(day040_灰度化 二值化时,阈值t的选

2019-07-13  本文已影响0人  雨住多一横

c++

#include"all.h"
using namespace std;
using namespace cv;
void MyClass::day040() {
    Mat img = read(PATH + "images\\test.jpg");

    Mat gray, binary = Mat::zeros(img.size(), CV_8UC1);
    cvtColor(img, gray, COLOR_BGR2GRAY);
    Scalar m = mean(img);
    int t = m[0];
    imshow("gray", gray);
    int h = img.rows;
    int w = img.cols;
    for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) {
            int pv = gray.at<uchar>(i, j);
            if (pv > t)
                binary.at<uchar>(i, j) = 255;
            else
                binary.at<uchar>(i, j) = 0;
        }
    }
    imshow("binary", binary);
    waitKey(0);
}

c++中的新知识点:
灰度化
二值化时,阈值t的选取
二值化

上一篇 下一篇

猜你喜欢

热点阅读