18 lines
606 B
C++
18 lines
606 B
C++
#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;
|
||
} |