Recent Posts
printf("ho_tari\n");
Chapter6 : 영상의 산술 및 논리 연산 본문
<OpenCV_Projects.cpp>
#include <opencv2/opencv.hpp>
extern void arithmetic1();
extern void logical();
int main()
{
std::cout << CV_VERSION << std::endl;
//arithmetic1();
logical();
}
<arithmetic1.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void arithmetic1()
{
cv::Mat src1 = cv::imread("lenna256.bmp", cv::IMREAD_GRAYSCALE);
cv::Mat src2 = cv::imread("square.bmp", cv::IMREAD_GRAYSCALE);
if (src1.empty() or src2.empty()) return;
std::cout << src1.size << std::endl;
std::cout << src2.size << std::endl;
cv::Mat dst1;
cv::add(src1, src2, dst1); // 합
cv::Mat dst2;
cv::subtract(src1, src2, dst2); // 차
cv::Mat dst3;
cv::absdiff(src1, src2, dst3); // 절댓값 차
cv::Mat dst4;
cv::namedWindow("ADDWEIGHTED");
for (double i = 0.0; i <= 1.0; i = i + 0.2)
{
cv::addWeighted(src1, i, src2, 1.0 - i, 0.0, dst4);
cv::imshow("ADDWEIGHTED", dst4);
cv::waitKey();
}
cv::imshow("SRC1", src1);
cv::imshow("SRC2", src2);
cv::imshow("DST1", dst1);
cv::imshow("DST2", dst2);
cv::imshow("DST3", dst3);
cv::waitKey();
cv::destroyAllWindows();
}
<compile 결과>
키보드 아무키를 누를 때마다 점점 나타난다
<logical.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void logical()
{
cv::Mat src1 = cv::imread("lenna256.bmp", cv::IMREAD_GRAYSCALE);
cv::Mat src2 = cv::imread("square.bmp", cv::IMREAD_GRAYSCALE);
if (src1.empty() or src2.empty()) return;
cv::Mat dst1(256, 256, CV_8UC1);
cv::Mat dst2(256, 256, CV_8UC1);
cv::Mat dst3(256, 256, CV_8UC1);
cv::Mat dst4(256, 256, CV_8UC1);
cv::imshow("SRC1", src1);
cv::imshow("SRC2", src2);
cv::bitwise_and(src1, src2, dst1); // 논리곱
cv::imshow("DST1", dst1);
cv::bitwise_or(src1, src2, dst2); // 논리합
cv::imshow("DST2", dst2);
cv::bitwise_xor(src1, src2, dst3); // 배타적 논리합 (같으면 0 (false), 다르면 1 (true))
cv::imshow("DST3", dst3);
cv::bitwise_not(src1, dst4); // 부정 연산
cv::imshow("DST4", dst4);
cv::waitKey();
cv::destroyAllWindows();
}
<compile 결과>
'OpenCV' 카테고리의 다른 글
Chapter 8 : 영상의 기하학적 변환 (0) | 2023.09.18 |
---|---|
Chapter7 : 필터링 (0) | 2023.09.14 |
Chapter5 : 영상의 밝기와 명암비 조절 (0) | 2023.09.14 |
Chpater 4 : 이미지와 동영상 파일 다루기, 직선 그리기, 문자열 출력하기, 키보드 이벤트 처리하기, 마우스 이벤트 처리하기, 트랙바 사용하기, 마스크 연산, 연산 시간 측정, 여러 수치 측정 함수 (4) | 2023.09.13 |
Chapter3 : Point, Size, Rect, Range, Mat 클래스 (0) | 2023.09.12 |