C/C++ OpenCV图像的阈值操作
生活随笔
收集整理的這篇文章主要介紹了
C/C++ OpenCV图像的阈值操作
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
固定閾值操作:Threshold()
double threshold(
inputArray src,
outPutArray dst,
double thresh,
double maxval,
int type
)
第一個(gè)參數(shù):輸入圖像
第二個(gè)參數(shù):輸出圖像
第三個(gè)參數(shù):閾值的具體值
第四個(gè)參數(shù):閾值的最大值
第五個(gè)參數(shù):閾值類型
五種閾值方式
THRESH_BINARY 二進(jìn)制閾值
THRESH_BINARY_INV 反二進(jìn)制閾值
THRESH_TRUNC 截?cái)嚅撝?/span>
THRESH_TOZERO 反閾值化為0
THRESH_TOZERO_INV 閾值化為0
二進(jìn)制閾值:低于閾值部分取閾值,高于閾值取0
反二進(jìn)制閾值:相反
截?cái)嚅撝?#xff1a;高于閾值的被截?cái)?br /> 閾值化為0:低壓閾值的為0,高于的不變
cvtColor(int,out,COLOR_RGB2GRAY)
下面是代碼:
#include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp>using namespace cv;#define WINDOW_NAME "窗口"int g_nThresholdValue = 100; int g_nThresholdType = 3; Mat g_srcImage, g_grayImage, g_dstImage;void on_Threshold(int, void*);int main() {g_srcImage = imread("1.jpg");if (!g_srcImage.data){printf("讀取圖片失敗!\n");return -1;}cvtColor(g_srcImage, g_grayImage, COLOR_RGB2GRAY);namedWindow(WINDOW_NAME);namedWindow("原圖");imshow("原圖", g_grayImage);createTrackbar("模式", WINDOW_NAME, &g_nThresholdType, 4, on_Threshold);createTrackbar("參數(shù)值", WINDOW_NAME, &g_nThresholdValue, 255, on_Threshold);on_Threshold(0, 0);waitKey(0);return 0; }void on_Threshold(int, void*) {threshold(g_grayImage, g_dstImage, g_nThresholdValue, 255, g_nThresholdType);imshow(WINDOW_NAME,g_dstImage); }運(yùn)行結(jié)果如下:
總結(jié)
以上是生活随笔為你收集整理的C/C++ OpenCV图像的阈值操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java高级语法笔记-库的使用(jar)
- 下一篇: Qt5.7+Opencv2.4.9人脸识