aboutsummaryrefslogtreecommitdiff
path: root/works/life/digital-image-process-lab
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-05-17 17:56:59 +0800
committercrupest <crupest@outlook.com>2022-05-17 17:56:59 +0800
commit3f8f7f952e5b6094a0534931ce48f30ffd98f437 (patch)
tree1030b570909b9d19e375dd62ae2509886eaf9128 /works/life/digital-image-process-lab
parent2f0e9ebbbdaa4710846ee4606964c1bbf77698ed (diff)
downloadcrupest-3f8f7f952e5b6094a0534931ce48f30ffd98f437.tar.gz
crupest-3f8f7f952e5b6094a0534931ce48f30ffd98f437.tar.bz2
crupest-3f8f7f952e5b6094a0534931ce48f30ffd98f437.zip
import(life): ...
Diffstat (limited to 'works/life/digital-image-process-lab')
-rw-r--r--works/life/digital-image-process-lab/.gitignore2
-rw-r--r--works/life/digital-image-process-lab/CMakeLists.txt11
-rw-r--r--works/life/digital-image-process-lab/HistogramEqulization.cpp34
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;
+}