흰색 배경에 어두운 도넛이 있다고합시다. 좋은 방법은, 어떤 픽셀의 값 (0 = 흰색, 1 = 흰색)과 이웃 픽셀 값을보고, 이미지에서 발견 된 두 개의 흰색 영역 중 어느 것이 도넛 안에 있는지 확인하는 것입니다. 컴퓨터 그래픽그림에서 내부 영역 찾기
답변
,이 문제는 광범위 지오메트리 처리의 관점에서 검토되고있다. 목표는 점이 다각형 (바깥 구멍이있을 수 있음)의 바깥 쪽인지 아닌지를 확인하고 예를 들어 색상 채우기에 사용되었습니다.
가장 일반적인 해결책은 현재 점에서 임의의 방향으로 선을 투사하는 것입니다 (간략히하기 위해 수평 주사선을 사용할 수 있음). 경계와 교차점 수를 계산합니다. 이 숫자가 짝수이면 외부에 있고, 홀수이면 내부에 있습니다.
경계를 찾는 것은 가장자리 찾기 기술 (예 : Sobel 연산자)을 사용하여 수행 할 수 있습니다. 이제 주어진 점에서 오른쪽으로 한 행을 이동하여 (예를 들어) 발견 한 모서리 수를 계산할 수 있습니다.
WhitAngl의 대답은 정확하므로 내 대답은 문맥을 이미지 처리와 관련된 몇 가지 문제로 간단하게 가져 오는 것입니다. 당신이 이것을 알고 있다면, naïveness에 대한 미안.
초기 이미지가 주어지면 가장자리를 감지하는 자체 문제로 인해 가장자리가 잘못된 것일 수 있습니다. 그들은 깨 졌거나 감지되지 않을 수도 있습니다. 또한, 독자적으로 고려할 때, 우리는 0 = 흰색, 1 = 흰색을 단순하게 사용할 수 없습니다.
그런 다음 WhitAngl의 대답은 완벽하게 적용됩니다 우리는 당신이 하나 더 이진 표현이 있다고 가정하면
: 원래 이미지로,이 같은 고려의 결과이다. 또한이 경우 대답은 다음과 같이 단순화 될 수 있습니다. 흰색 픽셀을 만지는 외곽 가장자리의 검은 픽셀이있는 경우이 흰색 픽셀은 내부 픽셀이 아닙니다. 이것은 제공합니다 모든 흰색 픽셀이 도넛에 인테리어
합니다.
검은 색 객체의 가장자리가 1 픽셀 인 가장자리의 경우가 있습니다. 픽셀을 정사각형 (2D 직사각형 격자)으로 생각하고 그 외부 파트와 내부 파트를 정의 할 수 있다면이를 해결할 수 있습니다. 이미지에서 이것은 대개 쉽습니다. 왼쪽 위 모서리의 픽셀 (필요한 경우 이미지를 확장 할 수도 있음)을 배경 픽셀로 간주 할 수 있기 때문입니다. – mmgp
추가 설명 주셔서 감사합니다! – user2398029
- 1. 알 수없는 그림에서 원 찾기
- 2. 이미지 영역 찾기
- 3. 손의 경계 영역 찾기
- 4. CGContextEOFillPath로 영역 찾기
- 5. 태피스 트리, 루프 내부 영역
- 6. For 루프 내부 병렬 영역
- 7. CGPath가 교차하는 영역 찾기 CGRect
- 8. 특정 영역 내의 윤곽 찾기
- 9. DotNetNuke에서 깨진 내부 링크 찾기
- 10. 원의 내부 rect의 크기 찾기
- 11. 스크립트가 실행중인 iframe 내부 찾기
- 12. OpenGL에서 불규칙한 모양의 다각형 내부 영역 채우기
- 13. ImageMagick을 사용하여 이미지 파일의 빈 영역 찾기
- 14. 프로젝트 성능 평가 및 약한 영역 찾기
- 15. Windows에서 로컬 영역 연결을위한 기본 게이트웨이 찾기
- 16. 최대 사용 가능한 인쇄 영역 찾기
- 17. gmaps - 보이는 영역 내 위치 찾기
- 18. 찾기 (C#에서) 두 사각형의 중첩 영역
- 19. 매트릭스에서 인접한 숫자의 가장 큰 영역 찾기
- 20. 그림에서 편집 내용 제거
- 21. 그림에서 물체의 부피를 확인하십시오.
- 22. 망할 놈의 : 인덱스이 그림에서
- 23. 그림에서 주석을 삭제하십시오.
- 24. syscall 래퍼 내부 프로세스의 프로세스 ID 찾기
- 25. BorderContainer 구성 요소의 내부 너비/높이 찾기
- 26. XML 파일에서 내부 텍스트 값 찾기
- 27. 내부 컬렉션에서 추가, 외부 컬렉션에서 찾기
- 28. Python 그림에서 그리스어 등 입력하기
- 29. 그림에서 파이썬 및 주석 제거
- 30. 이 메뉴를 개발하는 방법 (그림에서)
@talonmies 다른 스택 사이트가 더 적합할까요? – user2398029
어떻게 주제를 벗어나나요? 실용적이며 답을 얻을 수 있으며 특정 프로그래밍 문제 또는 알고리즘에 대해 묻습니다. – Niki