목록전체 글 (418)
Creative Code
※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(..
※Chapter6.cpp파일 #pragma once #include using namespace std; using namespace cv; //영상을 합성하는 함수 (사이즈가 같아야함) void arithmetic1() { Mat src1 = imread("lenna256.bmp",IMREAD_GRAYSCALE); Mat src2 = imread("square.bmp", IMREAD_GRAYSCALE); if (src1.empty() || src2.empty()) return; cout
※Chapter5.cpp 파일 #pragma once #include using namespace std; using namespace cv; void on_brightness(int pos, void* userdata); static Mat calcGrayHist(const Mat&); static Mat getGrayHistImage(const Mat&); //이미지를 BGR -> GRAYSCALE 또는 GRAYSCALE을 BGR로 바꾸는 함수 void example() { Mat img1 = imread("lenna.bmp"); Mat img2; cvtColor(img1, img2, COLOR_BGR2GRAY); // BGR->GRAYSCALE로 바꾸는 함수 imshow("IMG1", img1); ..