๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[C++ ๋กœ OpenCV (3)] ์ด๋ฏธ์ง€ imread ์™€ ์›น์บ  VideoCapture๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป 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
๋ฐ˜์‘ํ˜•
Comments