• Tistory
    • 태그
    • 위치로그
    • 방명록
    • 관리자
    • 글쓰기
Carousel 01
Carousel 02
Previous Next

'convex hull'에 해당되는 글 1건

  • 2013.04.02 [Function] Convex Hull 최외곽선 검출하기 (3)

[Function] Convex Hull 최외곽선 검출하기

Programming/OpenCV 2013. 4. 2. 19:12




 

convex hull 이란?

여러개의 점들중에 최외곽의 점들을 이어놓은 집합? 연결된 선? 공간? 을 의미한다

convexhull 영역 내부에 모든 점이 존재하고 외부에는 점이 존재하지 않아야 한다.

 

 

  1. CvMemStorage* storage_hull = cvCreateMemStorage(0);
  2.  
  3. IplImage* cnt_img = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);
  4. cvZero( cnt_img );
  5.  
  6. CvPoint pt0;
  7. CvSeq* ptseq = cvCreateSeq(CV_SEQ_KIND_GENERIC|CV_32SC2,sizeof(CvContour),sizeof(CvPoint), storage_hull);
  8. CvSeq* hull;
  9. int         hullcount = 0;
  10. int         count_ = 0;
  11.  
  12. for(int i=0; i<image->height; i++)
  13. {
  14.         for(int j=0; j<image->width; j++)
  15.         {
  16.                 if((unsigned char)image->imageData[i*image->widthStep+j*3]==255)
  17.                 {
  18.                         pt0.x = j;
  19.                         pt0.y = i;
  20.                         cvSeqPush(ptseq, &pt0);
  21.                 }
  22.         }
  23. }
  24.  
  25. if(ptseq->total != 0)
  26. {
  27.         hull = cvConvexHull2(ptseq, 0, CV_COUNTER_CLOCKWISE, 0);
  28.         hullcount = hull->total;
  29.         cvZero(cnt_img);
  30.  
  31.         pt0 = **CV_GET_SEQ_ELEM(CvPoint*, hull, hullcount - 1);
  32.         for(int i=0; i<hullcount; i++)
  33.         {
  34.                 CvPoint pt = **CV_GET_SEQ_ELEM(CvPoint*, hull, i);
  35.                 cvLine(image, pt0, pt, CV_RGB(0, 255, 0));
  36.                 //cvLine(image, CvPoint(cvPoint(center_x,center_y)), pt, CV_RGB(255, 0, 0));
  37.                 pt0 = pt;
  38.         }
  39.  
  40. }


소스코드 보기좋게 수정하였습니다. ( 14.04.08 )

'Programming > OpenCV' 카테고리의 다른 글

OpenCV 를 이용하여 동영상 재생하기.  (0) 2013.04.26
Haar Face Detection  (0) 2013.04.02
[Function] FindContour 덩어리 찾기  (0) 2013.04.02
Duglas Puecker 외곽선 근사화  (0) 2013.04.02
[Function] Dialog 창에 IplImage 출력하기  (0) 2013.04.02
[Function] Convex Hull 최외곽선 검출하기  (3) 2013.04.02
블로그 이미지

매직블럭

작은 지식들 그리고 기억 한조각

Tag convex hull, function, 외각선
트랙백 0개, 댓글 3개가 달렸습니다

댓글을 달아 주세요

  • sab 2014.04.08 19:00  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 이 게시물로부터 많은 도움을 받았습니다. 감사합니다.
    그런데, CvSeq* hull; 변수가 할당되지 않은 채 if문에서 hull->total 로 호출되고 있는 것 같은데 중간에 초기화가 생략되었는지 알 수 있을까요?

    • 매직블럭 2014.04.08 20:46 신고  댓글주소  수정/삭제

      이부분 같은경우 어떤 개념인지 한번 짚고 넘어가느라 해본게 다라 정확히 기억이 안나네요 왜 저런식으러 뒀었는지.. 아마 저 if(hull-> ... ) 이부분이 hull 이 아니라 ptseq 가 되야 하지 않을까.. 합니다.

    • sab 2014.04.10 23:06  댓글주소  수정/삭제

      아 그러네요 감사합니다!!!

  • «
  • 1
  • »

카테고리

  • 살다보니.. (414)
    • 주절거림 (3)
    • 취미생활 (36)
      • 지식과 지혜 (3)
      • 풍경이 되어 (4)
      • Memories (17)
      • 엥겔지수를 높여라 (2)
    • mathematics (6)
      • Matrix Computation (2)
      • RandomProcesses (3)
    • English.. (8)
    • Programming (134)
      • C, C++, MFC (51)
      • C# (1)
      • OpenCV (17)
      • Python (47)
      • Git, Docker (3)
      • Matlab (4)
      • Windows (3)
      • Kinect V2 (2)
      • 기타 etc. (6)
    • 전공관련 (73)
      • Algorithm (6)
      • Deep Learning (49)
      • 실습 프로그램 (4)
      • 주워들은 용어정리 (8)
      • 기타 etc. (6)
    • Computer (104)
      • Utility (21)
      • Windows (24)
      • Ubuntu, Linux (55)
      • NAS (2)
      • Embedded, Mobile (2)
    • IT, Device (41)
      • 제품 사용기, 개봉기 (14)
      • 스마트 체험단 신청 (27)
    • Wish List (3)
    • TISTORY TIP (5)
    • 미분류. 수정중 (1)

태그목록

  • Convolutional Neural Networks
  • CStdioFile
  • 오봉자싸롱
  • ColorMeRad
  • matlab function
  • DeepLearning
  • 포르투갈
  • 매트랩
  • Computer Tip
  • random variable
  • matlab
  • 일본
  • LIBSVM
  • SVM
  • 스마트체험단
  • function
  • 갤럭시노트3
  • 크롬
  • 후쿠오카
  • 에누리닷컴
  • 큐슈
  • ReadString
  • 딥러닝
  • 매트랩 함수
  • Deep Learning
  • utility
  • review
  • 칼로리 대폭발
  • DSLR
  • portugal

달력

«   2022/06   »
일 월 화 수 목 금 토
      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    
06-28 05:37

LATEST FROM OUR BLOG

  • 골뱅이 연산자의 의미 (행렬곱)..
  • 프린터 용지 부족 문제를 해⋯.
  • [MXNet] 데이터 리스트를 만⋯.
  • 예쁘게 출력하자 pprint - pr⋯.
  • 작업표시줄 미리보기를 리스⋯.
  • 이미지 실제 파일 포맷 확인하기.
  • 알리 등 해외배송 배송상태를⋯.
  • 티스토리 코드블럭 내용을 복⋯.
  • warning 을 on/off 하자.
  • windows 10 파일 선택, 파일⋯.
RSS 구독하기

BLOG VISITORS

  • Total : 1,130,795
  • Today : 25
  • Yesterday : 468

Copyright © 2015 Socialdev. All Rights Reserved.

티스토리툴바