일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- inheritance
- parameter
- sensor
- mfc
- atmega328
- UNO
- aduino
- Pointer
- Barcode
- Unity
- length
- digitalRead
- Encapusulation
- Binary
- wpf
- Class
- compare
- stream
- Read
- Overloading
- Android
- SERIAL
- APP
- public
- Contour
- flutter
- preprocessing
- memory
- java
- file access
- 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 |