少有人走的路

勇哥的工业自动化技术网站

OpenCV学习13--基本阈值操作

阈值(threshold)简单地说就是把图像分割的一个标尺。

阈值类型
1.阈值二值化(threshold binary)

image.png

大于阈值取最大值,小于阈值取最小值。
2.阈值反二值化(threshold binary Interval)

image.png

3.截断(truncate)

image.png

超过阈值和阈值相等,否则为0.
4.阈值取零(threshold to zero)

image.png

小于阈值取0,大于的不变。
5.阈值反取零(threshold to zero interval)

image.png

小于阈值的不变,大于的取零。

寻找阈值 实现最佳阈值
THRESH_OTSU
THRESH_TRIANGLE

代码:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>

using namespace cv;

int threshold_value = 127;
int threshold_max = 255;

int type_value = 2;
int type_max = 4;

Mat src,dst,gry_src;

char outwindow1[] = "out window1";
void Threshold_Demo(int,void *);

int main(int argc,char ** argv)
{ 
    src = imread("1.jpg");
    imshow("1",src);

    namedWindow(outwindow1,CV_WINDOW_AUTOSIZE);
    createTrackbar("v1",outwindow1,&threshold_value,threshold_max,Threshold_Demo);
    createTrackbar("v2",outwindow1,&type_value,type_max,Threshold_Demo);
    Threshold_Demo(0,0);
    waitKey(0);
    return 0;
}

void Threshold_Demo(int,void *)
{
    cvtColor(src,gry_src,CV_BGR2GRAY);
    imshow("2",gry_src);
    threshold(gry_src,dst,threshold_value,threshold_max,type_value);
    imshow(outwindow1,dst);
}


效果显示:
显示小姐姐

image.png

相关源码请到github下载:
https://github.com/MRwangmaomao/OpencvThreshold-Project.git

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864