일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Barcode
- file access
- aduino
- inheritance
- parameter
- Encapusulation
- Pointer
- atmega328
- UNO
- flutter
- java
- length
- mfc
- Overloading
- c++
- public
- stream
- compare
- Android
- memory
- wpf
- Read
- Contour
- sensor
- preprocessing
- Unity
- digitalRead
- Class
- SERIAL
- APP
- Today
- Total
폴크(FOLC)
머신 비전 알고리즘 - OpenCV - 이미지처리33 본문
# 디지털 이미지 처리
# 이미지의 상태 정보에서 특별한 영역을 추출한다.
> haarcascade 로 처리
# 이미지 처리 - OpenCV 4.5.3 으로 테스트
# 이미지의 상태 정보에서 특별한 영역을 추출
> srcImage : 입력, dstImage : 결과, faces, eyes: 결과 정보
# cv::CascadeClassifier
> cv::String face_cascade_name = "haarcascades\\haarcascade_frontalface_alt.xml";
> cv::String eyes_cascade_name = "haarcascades\\haarcascade_eye_tree_eyeglasses.xml";
> cv::CascadeClassifier face_cascade;
> cv::CascadeClassifier eyes_cascade;
> bool ret1 = face_cascade.load(face_cascade_name);
> bool ret2 = eyes_cascade.load(eyes_cascade_name);
> cv::cvtColor(m_matSrcImage, m_matTmpImage, cv::COLOR_BGR2GRAY);
> cv::equalizeHist(m_matTmpImage, m_matTmpImage);
> std::vector<cv::Rect> faces;
> face_cascade.detectMultiScale(m_matTmpImage, faces);
> for (size_t i = 0; i < faces.size(); i++)
> {
> cv::Point center(faces[i].x + faces[i].width / 2, faces[i].y + faces[i].height / 2);
> cv::Size size = cv::Size(faces[i].width / 2, faces[i].height / 2);
> cv::ellipse(m_matDstImage, center, size, 0, 0, 360, cv::Scalar(255, 0, 255), 4, 8, 0);
> cv::Mat faceROI;
> m_matTmpImage(faces[i]).copyTo(faceROI);
> std::vector<cv::Rect> eyes;
> eyes_cascade.detectMultiScale(faceROI, eyes);
> for (size_t j = 0; j < eyes.size(); j++)
> {
> cv::Point center(faces[i].x + eyes[j].x + eyes[j].width / 2, faces[i].y + eyes[j].y + eyes[j].height / 2);
> int radius = cvRound((eyes[j].width + eyes[j].height) / 4);
> cv::circle(m_matDstImage, center, radius, cv::Scalar(255, 0, 0), 4, 8, 0);
> }
> }
'머신 비전 > 머신 비전 알고리즘 테크닉 CPP' 카테고리의 다른 글
머신 비전 알고리즘 - OpenCV - 이미지처리32 (0) | 2021.08.24 |
---|---|
머신 비전 알고리즘 - OpenCV - 이미지처리31 (0) | 2021.08.20 |
머신 비전 알고리즘 - OpenCV - 이미지처리30 (0) | 2021.08.15 |
머신 비전 알고리즘 - OpenCV - 이미지처리29 (0) | 2021.08.14 |
머신 비전 알고리즘 - OpenCV - 이미지처리28 (0) | 2021.08.10 |