👩💻 IoT (Embedded)/Image Processing
[C++ 로 OpenCV (3)] 이미지 imread 와 웹캠 VideoCapture불러오기
징징알파카
2023. 12. 28. 16:54
728x90
반응형
💗 OpenCV 로 image 불러오기
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main() {
std::cout << "Hello OpenCV" << CV_VERSION << std::endl;
Mat img = imread("lena.jpg", IMREAD_COLOR);
namedWindow("image");
imshow("Lena", img);
waitKey();
//destroyAllWindows();
return 0;
}
💗 OpenCV 로 webcam 불러오기
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
//비디오 캡처 초기화
VideoCapture cap(0);
//카메라가 성공적으로 열렸는지 확인을 위한 조건문
if (!cap.isOpened())
{
printf("Can't open the camera");
return -1;
}
//매트릭스 초기화
Mat img;
//비디오 캡처 및 표시:
while (1)
{
cap >> img;
imshow("camera img", img); //창에 캡처된 프레임을 표시합니다.
if (waitKey(1) == 27)
break;
}
return 0;
}
💗 OpenCV 로 webcam 거꾸로 된 버전 (reverse) 불러오기
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main() {
auto cap = VideoCapture(0);
int delay = 33;
Mat img;
while (cap.isOpened()) {
if (waitKey(delay) == 27) break;
auto ret = cap.read(img);
auto inverse = ~img;
imshow("Movie", img);
imshow("Movie inverse", inverse);
}
cap.release();
destroyAllWindows();
return 0;
}
💗 OpenCV 로 webcam 을 gray 로 불러오기
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main() {
auto cap = VideoCapture(0);
int delay = 33;
Mat img;
Mat img_gray;
while (cap.isOpened()) {
if (waitKey(delay) == 27) break;
auto ret = cap.read(img);
cvtColor(img, img_gray, COLOR_BGR2GRAY);
imshow("Movie1", img);
imshow("Movie2", img_gray);
}
cap.release();
destroyAllWindows();
return 0;
}
728x90
반응형