Recent Posts
printf("ho_tari\n");
Chapter 10 : 컬러 영상 처리 본문
<OpenCV_Projects.cpp>
#include <opencv2/opencv.hpp>
extern void show_BGR_channels();
extern void color_split();
int main()
{
//show_BGR_channels();
color_split();
}
<show_BGR_channels.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void show_BGR_channels()
{
cv::Mat src = cv::imread("candies.png", cv::IMREAD_COLOR);
cv::Mat B(src.size(), CV_8UC1);
cv::Mat G(src.size(), CV_8UC1);
cv::Mat R(src.size(), CV_8UC1);
for (int i = 0; i < src.rows; ++i)
{
for (int j = 0; j < src.cols; ++j)
{
cv::Vec3b& p1 = src.at<cv::Vec3b>(i, j);
B.at<uchar>(i, j) = p1[0]; // B
G.at<uchar>(i, j) = p1[1]; // G
R.at<uchar>(i, j) = p1[2]; // R
}
}
cv::imshow("SRC", src);
cv::imshow("BLUE", B);
cv::imshow("GREEN", G);
cv::imshow("RED", R);
cv::waitKey();
cv::destroyAllWindows();
}
<compile 결과>
<color_split.cpp>
#pragma once
#include <opencv2/opencv.hpp>
void color_split()
{
cv::Mat src = cv::imread("candies.png");
cv::Mat dst(src.size(), src.type());
std::vector<cv::Mat> hsv_planes;
cv::cvtColor(src, dst, cv::COLOR_BGR2HSV);
cv::split(dst, hsv_planes);
cv::imshow("SRC", src);
cv::imshow("DST", dst);
cv::imshow("H", hsv_planes[0]);
cv::imshow("S", hsv_planes[1]);
cv::imshow("V", hsv_planes[2]);
cv::waitKey();
cv::destroyAllWindows();
}
<compile 결과>
'OpenCV' 카테고리의 다른 글
Examples (0) | 2023.09.18 |
---|---|
Chapter 11 : 이진화와 모폴로지 (0) | 2023.09.18 |
Chapter 9 : 에지 검출과 응용 (0) | 2023.09.18 |
Chapter 8 : 영상의 기하학적 변환 (0) | 2023.09.18 |
Chapter7 : 필터링 (0) | 2023.09.14 |