华拓科技网
您的当前位置:首页加强版 第二节全局阈值二值化

加强版 第二节全局阈值二值化

来源:华拓科技网

如何寻找合适图像的阈值是本节课的内容

图像二值化分割最重要的就是计算阈值

余值计算算法很多,基本分成两类,全局阈值和自适应阈值

全局分割方法

-均值法

-OTSU

-三角法(Trianagle)(生物医疗效果较好)



均值法

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
    Mat ss = imread("C:/newword/image/1.jpg");
    if (ss.empty()) {
        printf("没有检测到");
        return -1;
    }
    namedWindow("原图", WINDOW_AUTOSIZE);
    imshow("原图", ss);
    Mat DK, JH;
    cvtColor(ss, DK, COLOR_BGR2GRAY);
    imshow("灰度", DK);

Scalar在多通道图像中具有三个通道,在灰度图像中只具有一个通道,这个通道是调节弧度图像亮度。当高于m[0]时则变为255小于是则为0
    Scalar m = mean(DK);
    printf("means:%.2f\n", m[0]);
    threshold(DK, JH, m[0], 255, THRESH_BINARY);
    imshow("均值", DK);

    waitKey(0);
    destroyAllWindows();
    return 0;


}

在很多情况均值无法真实的反应图像像素的分布情况,直方图是统计信息,他可以真实的反应图像像素的分布情况



otsu(直方图)

double T1 = threshold(DK, JH, 0, 255, THRESH_BINARY|THRESH_OTSU);
imshow("直方图", JH);
double T2 = threshold(DK, JH, 0, 255, THRESH_BINARY | THRESH_TRIANGLE);
imshow("三角", JH);
printf("直方图:%.2f,三角:%.2f\n",T1,T2);

因篇幅问题不能全部显示,请点此查看更多更全内容