diff --git a/contour b/contour new file mode 100755 index 0000000..93c5de8 Binary files /dev/null and b/contour differ diff --git a/contour_detection.cpp b/contour_detection.cpp new file mode 100644 index 0000000..cb435a9 --- /dev/null +++ b/contour_detection.cpp @@ -0,0 +1,48 @@ +#include +#include +#include + + +int main() +{ + cv::VideoCapture camera(0); + + if (!camera.isOpened()) + { + std::cerr << "[ERROR] Could not open the camera!" << std::endl; + return 1; + } + + cv::namedWindow("Webcam", cv::WINDOW_AUTOSIZE); + + + while(true) + { + cv::Mat frame; + camera >> frame; + cv::imshow("Webcam", frame);//normal + //---------- grey + cv::Mat frame_gray; + cv::cvtColor(frame,frame_gray,cv::COLOR_BGR2GRAY); + //cv::imshow("gray",frame_gray);//grey + //----------- treshold + cv::Mat frame_thresh; + threshold(frame_gray, frame_thresh, 150, 255, cv::THRESH_BINARY); + //cv::imshow("thresh", frame_thresh); + //----------- contour + std::vector> contours; + std::vector hierarchy; + findContours(frame_thresh, contours, hierarchy, cv::RETR_TREE, cv::CHAIN_APPROX_NONE); + + cv::Mat frame_contours = frame.clone(); + drawContours(frame_contours, contours, -1, cv::Scalar(0, 255, 0), 2); + +cv::imshow("contours", frame_contours); + + + if (cv::waitKey(30) >= 0) + break; + } + + return 0; +} diff --git a/contour_detection.o b/contour_detection.o new file mode 100644 index 0000000..9cf6d63 Binary files /dev/null and b/contour_detection.o differ diff --git a/hello b/hello new file mode 100755 index 0000000..5d22967 Binary files /dev/null and b/hello differ diff --git a/hello_world.o b/hello_world.o deleted file mode 100644 index 95ce373..0000000 Binary files a/hello_world.o and /dev/null differ diff --git a/makefile b/makefile index c8d4137..3e129c7 100644 --- a/makefile +++ b/makefile @@ -1,6 +1,8 @@ -all: main arithmetic hello +all: main arithmetic hello contour g++ main.o arithmetic.o -L/usr/lib/x86_64-linux-gnu -lopencv_core - + + g++ contour_detection.o -o contour -L/usr/lib/x86_64-linux-gnu -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio -lopencv_imgcodecs + main: main.cpp g++ -c main.cpp -I/usr/include/opencv4 @@ -10,6 +12,9 @@ arithmetic: arithmetic.cpp arithmetic.h hello: hello_world.cpp g++ -c hello_world.cpp -I/usr/include/opencv4 +contour: contour_detection.cpp + g++ -c contour_detection.cpp -I/usr/include/opencv4 + clean: rm *.o rm a.out