Files
opencv-learning/Threshold/auto.cpp
2026-03-19 19:16:42 +08:00

18 lines
606 B
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
cv::Mat img = cv::imread("../img/2.jpg", cv::IMREAD_GRAYSCALE);
if (img.empty()) return -1;
cv::Mat dst;
// 注意:使用 THRESH_OTSU 时,输入的 thresh 参数 (0) 会被忽略
// 它是通过 “标志位组合” 来实现的cv::THRESH_BINARY | cv::THRESH_OTSU
double otsuThresh = cv::threshold(img, dst, 0, 255, cv::THRESH_BINARY | cv::THRESH_OTSU);
std::cout << "Otsu 自动确定的阈值是: " << otsuThresh << std::endl;
cv::imshow("Otsu Threshold", dst);
cv::waitKey(0);
return 0;
}