diff options
Diffstat (limited to 'works/life/digital-image-process-lab')
| -rw-r--r-- | works/life/digital-image-process-lab/.gitignore | 2 | ||||
| -rw-r--r-- | works/life/digital-image-process-lab/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | works/life/digital-image-process-lab/HistogramEqulization.cpp | 34 | 
3 files changed, 47 insertions, 0 deletions
diff --git a/works/life/digital-image-process-lab/.gitignore b/works/life/digital-image-process-lab/.gitignore new file mode 100644 index 0000000..d8c2a8f --- /dev/null +++ b/works/life/digital-image-process-lab/.gitignore @@ -0,0 +1,2 @@ +.clangd +build
\ No newline at end of file diff --git a/works/life/digital-image-process-lab/CMakeLists.txt b/works/life/digital-image-process-lab/CMakeLists.txt new file mode 100644 index 0000000..f87d227 --- /dev/null +++ b/works/life/digital-image-process-lab/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.20) + +project(digital-image-process-lab) + +set(CMAKE_CXX_STANDARD 17) + +find_package(OpenCV REQUIRED) +include_directories(${OpenCV_INCLUDE_DIRS}) +add_executable(HistogramEqulization HistogramEqulization.cpp) +target_link_libraries(HistogramEqulization ${OpenCV_LIBS}) + diff --git a/works/life/digital-image-process-lab/HistogramEqulization.cpp b/works/life/digital-image-process-lab/HistogramEqulization.cpp new file mode 100644 index 0000000..951a966 --- /dev/null +++ b/works/life/digital-image-process-lab/HistogramEqulization.cpp @@ -0,0 +1,34 @@ +#include <iostream> +#include <string> + +#include <opencv2/highgui.hpp> +#include <opencv2/imgcodecs.hpp> +#include <opencv2/imgproc.hpp> + +int main(int argc, char **argv) { +  if (argc != 2) { +    std::cerr << "Please input an image file path as the only arg." +              << std::endl; +    return -1; +  } + +  std::string file_name(argv[1]); + +  cv::Mat src, dst; + +  src = cv::imread(file_name, cv::IMREAD_COLOR); +  if (src.empty()) { +    std::cerr << "Failed to load image file: " << file_name << std::endl; +    return -2; +  } + +  cv::cvtColor(src, src, cv::COLOR_BGR2GRAY); + +  cv::equalizeHist(src, dst); + +  cv::imshow("Source Image", src); +  cv::imshow("Equalized Image", dst); +  cv::waitKey(); + +  return 0; +}  | 
