필자는 내 전체 전체 이진 이미지에 대한 좌표 (X, Y)를 찾고 각 구성 요소에 대한 CoM을 seperatly로 찾는 것에 관심이 있습니다. 어떻게 효율적으로 만들 수 있습니까? regionprops를 사용하는 것 같지만 올바른 방법을 찾을 수 없습니다.전체 바이너리 이미지의 중심을 찾는 방법은 무엇입니까?
답변
넌 BW
regionprops
의 데이터 타입에 따라 regionprops
props = regionprops(double(BW), 'Centroid');
위한 단일 영역으로서 모든 영역을 정의 할 수는 다른 영역으로서 각 연결 컴포넌트 라벨 또는 모든 비 - 제로 처리해야하는지 여부를 결정 여러 구성 요소가있는 단일 영역.
또는,
[y x] = find(BW);
cent = [mean(x) mean(y)];
그냥 회색이 방법을 확장
void centerOfMass (int[][] image, int imageWidth, int imageHeight)
{
int SumX = 0;
int SumY = 0;
int num = 0;
for (int i=0; i<imageWidth; i++)
{
for (int j=0; j<imageHeight; j++)
{
if (image[i][j] == WHITE)
{
SumX = SumX + i;
SumY = SumY + j;
num = num+1;
}
}
}
SumX = SumX/num;
SumY = SumY/num;
// The coordinate (SumX,SumY) is the center of the image mass
}
좌표 반복 모든 픽셀들이 X와 Y의 평균을 계산 스스로 중심을 계산할 수 있습니다 범위 [0..255] 범위의 확대/축소 이미지 : 대신
if (image[i][j] == WHITE)
{
SumX = SumX + i;
SumY = SumY + j;
num = num+1;
}
,515,
너무 어두운 픽셀 질량 계산의 중앙 약간 작은 부분 기여 값 (100)의 화소의 값 1과 어두운 픽셀보다 100 배 중량 갖는다이 경우 다음과 같은 계산
SumX = SumX + i*image[i][j];
SumY = SumY + j*image[i][j];
num = num+image[i][j];
사용. 이 경우 이미지가 클 경우 32 비트 정수가 넘칠 수 있으므로 int
대신 long int
sumX, sumY 변수를 사용하십시오.
알아. C/C++는 java와 동일하며 일반 영어로 읽을 수 있습니다. 따라서이 질문에 비틀 거리고 다른 프로그래밍 언어를 사용하는 다른 사람들은 여전히 수학적 해결책을 이해할 수 있습니다. 나는 'idow90'알고리즘을 이해하고 기본적으로 당신의 대답 인 Matlab으로 변환 할 수있을 것이라고 확신합니다. – DanielHsH
색상이 검은 색 이어도 num을 늘리지 않아야합니까? 그레이 스케일 이미지에 수식을 적용 할 때 검정이 아닌 모든 색상을 추가해야합니까? – user3452075
num은 전체 흰색 픽셀의 수를 계산합니다. SumX 및 SumY는 X 및 Y 방향으로 적분을 계산합니다. 총 픽셀 수로 나누면 정답이됩니다. 귀하의 리젠트에 대한 그레이 스케일 이미지에 대한 대답을 확장했습니다. – DanielHsH
- 1. 이미지의 중심을 찾는 방법?
- 2. 헤더에 이미지의 중심을 지정하고 전체 너비를 지정하십시오.
- 3. 슬라이드 쇼에서 이미지의 중심을 맞추는 방법은 무엇입니까?
- 4. 페이지 탭으로 이미지의 중심을 맞추는 방법은 무엇입니까?
- 5. Love2D에서 CircleShape의 중심을 찾는 방법은 무엇입니까?
- 6. 문자열의 정확한 중심을 찾는 방법은 무엇입니까?
- 7. unity3d에서 상자 충돌기의 중심을 찾는 방법은 무엇입니까?
- 8. 이미지의 중심을 차지하십시오.
- 9. Matlab에서 이미지의 왜곡을 찾는 방법은 무엇입니까?
- 10. 다각형의 중심을 찾는 방법?
- 11. 손바닥의 중심을 찾는 방법
- 12. OpenCV에서 이미지의 등고선을 찾는 방법은 무엇입니까?
- 13. 바이너리 시퀀스를 생성하는 수식을 찾는 방법은 무엇입니까?
- 14. 이미지의 중심을 향해 축척 만들기
- 15. 바이너리 이미지의 부식과 확장
- 16. 아이폰의 색상으로 이미지의 가장자리를 찾는 방법은 무엇입니까?
- 17. 두 이미지의 차이점을 찾는 방법은 무엇입니까?
- 18. 두 이미지의 메트릭 값을 찾는 방법은 무엇입니까?
- 19. 활동중인 이미지의 픽셀과 위치를 찾는 방법은 무엇입니까?
- 20. 확장자가없는 이미지의 MIME 유형을 찾는 방법은 무엇입니까?
- 21. iOS에서 이미지의 개체를 찾는 방법은 무엇입니까?
- 22. 어떤 해상도에서 화면의 중심을 찾는 방법
- 23. 메쉬 3d 플롯의 봉우리 중심을 자동으로 찾는 방법은 무엇입니까?
- 24. 수퍼 뷰가 변형 된 후 UIView의 중심을 찾는 방법은 무엇입니까?
- 25. 바이너리 이미지의 어려움 (MATLAB)
- 26. 자바 : LARGE 바이너리 파일에서 문자열 패턴을 찾는 방법은 무엇입니까?
- 27. 전체 화면에서 이미지를 찾는 방법은 무엇입니까?
- 28. 숫자를 전체 자릿수로 찾는 방법은 무엇입니까?
- 29. MKMapView지도의 중심을 얻는 방법은 무엇입니까?
- 30. div에있는 이미지의 중심을 너무 좁게 지정 했습니까?
[centroid] (http://en.wikipedia.org/wiki/Image_moments#Examples)에 대한 방정식이 있습니다. 맞습니까? 코딩 해봤습니까? – beaker
경계 상자를 계산하고 중심 값을 계산 하시겠습니까? (당신은 개별 구성 요소의 중심을 원하지 않기 때문에). –
나는 방정식을 가지고 있으며 경계 상자를 계산하는 것은 다른 구성 요소 사이의 구멍과 틈새를 고려하지 않을 것입니다. – idow09