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

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

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

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864