added edge detection with camera feed
This commit is contained in:
parent
d322b58c76
commit
e246ce8c1f
Binary file not shown.
|
|
@ -0,0 +1,37 @@
|
|||
#include <iostream>
|
||||
#include <opencv2/opencv.hpp>
|
||||
#include <opencv2/highgui/highgui.hpp>
|
||||
#include <opencv2/videoio.hpp>
|
||||
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);
|
||||
cv::Mat frame_gray;
|
||||
cv::cvtColor(frame, frame_gray, cv::COLOR_BGR2GRAY);
|
||||
cv::imshow("gray", frame_gray);
|
||||
cv::Mat frame_thresh;
|
||||
threshold(frame_gray, frame_thresh, 150, 255, cv::THRESH_BINARY);
|
||||
cv::imshow("thresh", frame_thresh);
|
||||
std::vector<std::vector<cv::Point>> contours;
|
||||
std::vector<cv::Vec4i> 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(255, 0, 0), 2);
|
||||
cv::imshow("contours", frame_contours);
|
||||
if (cv::waitKey(30) >= 0){
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
7
makefile
7
makefile
|
|
@ -1,5 +1,8 @@
|
|||
all: hello_world
|
||||
g++ hello_world.o -o hello_world -L/usr/lib/x86_64-linux-gnu -lopencv_core -lopencv_highgui -lopencv_imgproc
|
||||
all: contour_detection
|
||||
g++ contour_detection.o -o contour_detection -L/usr/lib/x86_64-linux-gnu -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -lopencv_videoio
|
||||
|
||||
contour_detection: contour_detection.cpp
|
||||
g++ -c contour_detection.cpp -I/usr/include/opencv4/opencv2 -I/usr/include/opencv4
|
||||
|
||||
main: main.cpp
|
||||
g++ -c main.cpp -I/usr/include/opencv4
|
||||
|
|
|
|||
Loading…
Reference in New Issue