2
2
#include < format>
3
3
#include < iostream>
4
4
#include < stdexcept>
5
- #include < numbers>
6
5
7
6
#include < opencv2/opencv.hpp>
7
+ #include < opencv2/core/utils/logger.hpp>
8
8
9
9
#include < banana-lib/lib.hpp>
10
10
@@ -24,18 +24,6 @@ auto GetPathFromArgs(int const argc, char const * const argv[]) -> std::filesyst
24
24
return image_path;
25
25
}
26
26
27
- void PrintAnalysisResult (banana::AnnotatedAnalysisResult const & analysis_result) {
28
- std::cout << " found " << analysis_result.banana .size () << " banana(s) in the picture" << std::endl;
29
-
30
- for (auto const & [n, banana] : std::ranges::enumerate_view (analysis_result.banana )) {
31
- auto const & [coeff_0, coeff_1, coeff_2] = banana.center_line_coefficients ;
32
- std::cout << " Banana #" << n << " :" << std::endl;
33
- std::cout << " " << std::format (" y = {} + {} * x + {} * x^2" , coeff_0, coeff_1, coeff_2) << std::endl;
34
- std::cout << " Rotation = " << (banana.rotation_angle * 180 / std::numbers::pi ) << " degrees" << std::endl;
35
- std::cout << std::endl;
36
- }
37
- }
38
-
39
27
void ShowAnalysisResult (banana::AnnotatedAnalysisResult const & analysis_result) {
40
28
std::string const windowName = " analysis result | press q to quit" ;
41
29
cv::namedWindow (windowName, cv::WINDOW_KEEPRATIO);
@@ -45,6 +33,8 @@ void ShowAnalysisResult(banana::AnnotatedAnalysisResult const& analysis_result)
45
33
}
46
34
47
35
int main (int const argc, char const * const argv[]) {
36
+ cv::utils::logging::setLogLevel (cv::utils::logging::LOG_LEVEL_WARNING);
37
+
48
38
banana::Analyzer const analyzer{true };
49
39
try {
50
40
auto const path = GetPathFromArgs (argc, argv);
@@ -53,7 +43,7 @@ int main(int const argc, char const * const argv[]) {
53
43
auto const analysisResult = analyzer.AnalyzeAndAnnotateImage (img);
54
44
55
45
if (analysisResult) {
56
- PrintAnalysisResult ( *analysisResult) ;
46
+ std::cout << *analysisResult;
57
47
ShowAnalysisResult (*analysisResult);
58
48
} else {
59
49
std::cerr << " failed to analyse the image: " << analysisResult.error ().ToString () << std::endl;
0 commit comments