반응형
앞선 코드들은 라이브러리 활용을 최소화하고 직접 영상을 처리하는 로직을 구현했다면 이번에는 open cv에서 제공하는 라이브러리 함수를 활용하여 erode와 dilate를 구현해보겠다.
//opencv 라이브러리
{
std::string fileName = "../KCCImageNet/images/circle_plate.png";
cv::Mat src_gray = cv::imread(fileName, cv::ImreadModes::IMREAD_GRAYSCALE);
cv::Mat src_bin;
cv::threshold(src_gray, src_bin, 150, 255, ThresholdTypes::THRESH_BINARY);
int kernelSz = 1;
int shape = MorphShapes::MORPH_CROSS;
cv::Size sz = Size(2 * kernelSz + 1, 2 * kernelSz + 1);
Mat SE = cv::getStructuringElement(shape, sz);// 3x3 SE 만들기
//erosion
//src_bin
Mat src_erode;
cv::erode(src_bin, src_erode, SE);
Mat diff_erode = src_bin - src_erode;
Mat src_dilate;
cv::dilate(src_bin, src_dilate, SE);
Mat diff_dilate = src_dilate - src_bin;
}
반응형
'Open CV' 카테고리의 다른 글
[Ubuntu OpenCV] VM ware ubuntu에서 웹캠 연결 후 OpenCV 사용해서 Qt GUI 구성하기 (1) | 2024.03.08 |
---|---|
[OPENCV-C++ ] open cv morphology_extension을 활용한 이미지 노이즈 제거 (0) | 2023.11.26 |
[OPENCV-C++ ] 형태학 기반 영상처리 Dilation 팽창 (0) | 2023.11.26 |
[OPENCV-C++ ] 형태학 기반 영상처리 Erosion 침식 (0) | 2023.11.26 |
[OPENCV-C++ ] BGR→HSV→fndcontours→text로 사진에 데이터 표현 (1) | 2023.11.26 |