Recent Posts
printf("ho_tari\n");
Examples 본문
1. 영상이미지 파일 이름은 lenna.png입니다. 이것을 OpenCV 라이브러리를 이용해서 화면에 영상을 출력하는 코딩을 구현해보시오
<main.cpp>
#include <opencv2/opencv.hpp>
extern void test_1();
int main()
{
test_1();
}
<test_1.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void test_1()
{
cv::Mat img = cv::imread("lenna.bmp");
if (img.empty()) return;
cv::namedWindow("LENNA", cv::WINDOW_NORMAL);
cv::imshow("LENNA", img);
cv::waitKey(0);
cv::destroyAllWindows();
}
<compile 결과>
2. lenna.png는 color 4채널 이미지입니다.모든 컬러(RGB)가 120 정도 더 밝아지도록 코딩을 해보시오
<main.cpp>
#include <opencv2/opencv.hpp>
extern void test_2();
int main()
{
test_2();
}
<test_2.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void test_2()
{
cv::Mat img = cv::imread("Lenna.bmp");
if (img.empty()) return;
img += cv::Scalar(120, 120, 120);
cv::namedWindow("LENNA", cv::WINDOW_NORMAL);
cv::imshow("LENNA", img);
cv::waitKey();
cv::destroyAllWindows();
}
<compile 결과>
3. lenna.png에서 전체 pixel 사이즈에서 400 x 400 pixel 만 추출해서 화면에 가운데에 영상을 출력하는 코딩을 해보시오
<main.cpp>
#include <opencv2/opencv.hpp>
extern void test_3();
int main()
{
test_3();
}
<test_3.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void test_3()
{
cv::Mat img = cv::imread("lenna.bmp");
if (img.empty()) return;
cv::Mat dst = img(cv::Rect(100, 100, 400, 400));
cv::imshow("LENNA", dst);
cv::waitKey();
cv::destroyAllWindows();
}
<compile 결과>
4. lenna.png 전체 pixel과 똑같은 사이즈와 똑같은 타입을 복사하는데 걸리는 연산시간을 측정하는 코딩을 구현해보시오
<main.cpp>
#include <opencv2/opencv.hpp>
extern void test_4();
int main()
{
test_4();
}
<test_4.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void test_4()
{
// 이미지 파일을 읽어옵니다.
cv::Mat img = cv::imread("lenna.bmp");
if (img.empty()) return;
cv::Size imgsize = img.size();
int imgtype = img.type();
cv::Mat dst(imgsize, imgtype);
cv::TickMeter tick;
tick.start();
img.copyTo(dst);
tick.stop();
std::cout << "걸린 시간 : " << tick.getTimeSec() << "초" << std::endl;
cv::imshow("COPY", dst);
cv::waitKey();
cv::destroyAllWindows();
}
<compile 결과>
'OpenCV' 카테고리의 다른 글
Chapter 15 : 머신 러닝 (0) | 2023.09.18 |
---|---|
Chapter 11 : 이진화와 모폴로지 (0) | 2023.09.18 |
Chapter 10 : 컬러 영상 처리 (0) | 2023.09.18 |
Chapter 9 : 에지 검출과 응용 (0) | 2023.09.18 |
Chapter 8 : 영상의 기하학적 변환 (0) | 2023.09.18 |