일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- frontend
- 빅데이터
- 개발
- C++
- 사물인터넷
- 풀스택프레임워크
- java
- 자바독학
- SNS
- 자바
- 코테
- 프로그래머스
- 코딩독학
- 코딩테스트
- 코스닥
- 주가예측
- 개인프로젝트
- Python
- 이웃한 칸
- backend
- 자바정리
- Reflex
- 프로그램
- 백준
- java정리
- 코딩
- Project
- 개발자
- 모의 주식
- 프로그래밍
- Today
- Total
목록OpenCV(C++) (11)
Creative Code
※Chapter15.cpp 파일 #pragma once #include using namespace std; using namespace cv; //스마트 포인터 (객체가 사라지면 스스로 사라지는 포인터) static cv::Ptrtrain_knn() { cv::Mat digits = cv::imread("digits.png", cv::IMREAD_GRAYSCALE); if (digits.empty()) return nullptr; cv::Mat train_images; cv::Mat train_labels; for (int i = 0; i < 50; i++) { for (int j = 0; j < 100; j++) { cv::Mat roi = digits(cv::Rect(j * 20, i * 20, 2..
※Chapter11.cpp파일 #pragma once #include using namespace std; using namespace cv; //trackbar를 사용한 영상의 이진화 함수(threshold방식) static void on_threshold(int position, void* userdata) { Mat src = *(static_cast(userdata)); Mat dst; threshold(src, dst, position, 255.0, THRESH_BINARY); //THRESH_BINARY 방식을 사용 imshow("DST", dst); } static void on_trackbar(int position, void* userdata) { Mat src = *(static_cas..
※Chapter10.cpp파일 #pragma once #include using namespace std; using namespace cv; //이미지에서 Red, Blue, Green 성분만 불러 grayscale로 읽기 void show_BGR_channels() { Mat src = imread("candies.png", IMREAD_COLOR); // 356 * 493 Mat B(src.size(), CV_8UC1); // Blue 색상만 가져오기 때문에 채널이 1개 Mat G(src.size(), CV_8UC1); Mat R(src.size(), CV_8UC1); for (int i = 0; i < src.rows; ++i) { for (int j = 0; j < src.cols; ++j) {..
※Chapter9.cpp파일 #pragma once #include using namespace std; using namespace cv; //소벨마스크 기준 에지 검출 함수 void sobel_edge() { Mat src = imread("lenna.bmp", IMREAD_GRAYSCALE); if (src.empty()) return; Mat dx; Mat dy; Sobel(src, dx, CV_32FC1, 1, 0); // X로 미분 Sobel(src, dy, CV_32FC1, 0, 1); // Y로 미분 imshow("SRC", src); imshow("DX", dx); imshow("DY", dy); Mat mag; magnitude(dx, dy, mag); // c++ float -> im..
※Chapter8.cpp파일 #pragma once #include using namespace std; using namespace cv; //affine 변환행렬 함수 void affine_transform() { Mat src = imread("tekapo.bmp"); if (src.empty()) return; //처음 세점의 좌표와 해당 점들이 변환이동된 각각의 좌표를 가지고 affine행렬을 구한다. Point2f srcPts[3], dstPts[3]; srcPts[0] = Point2f(0, 0); srcPts[1] = Point2f(src.cols - 1, 0); srcPts[2] = Point2f(src.cols - 1, src.rows - 1); dstPts[0] = Point2f(50..
※Chapter7.cpp파일 #pragma once #include using namespace std; using namespace cv; //엠보싱 필터링 함수(객체의 윤곽을 올록볼록한 형태로 만들기) void filter_embossing() { Mat src = imread("rose.bmp", IMREAD_GRAYSCALE); if (src.empty()) return; float filter_data[] = { -1.0f, -1.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f }; Mat emboss_kernel(3, 3, CV_32FC1, filter_data); Mat dst; filter2D(src, dst, -1, emboss_kernel, Point(..