두사진에 있는 물체의 높이를 구하는 소스인데 이해가 안가는 부분이 있어서 질문드립니다.
아인
질문 제목 : 두 사진에 있는 물체의 높이를 구하는 소스인데 이해가 안가는 부분이 있어서 질문드립니다.질문 요약 :While문에 (binary1[x*(1+y)/2 + i])을 사용하는 이유가 이해가 잘 가지 않습니다.질문 내용 :
void Distance::Calhigh() //물체의 높이 계산(픽셀)
{
CDistanceMeasurementDlg *pMainDlg = (CDistanceMeasurementDlg*)AfxGetApp()-m_pMainWnd;
CString High1, High2;
high1=0;
high2=0;
int i=0;
while(binary1[x*(1+y)/2 + i])
{
i+=x;
high1++;
}
i=-1*x;
while(binary1[x*(1+y)/2 + i])
{
i-=x;
high1++;
}
i=0;
while(binary2[x*(1+y)/2 + i])
{
i+=x;
high2++;
}
i=-1*x;
while(binary2[x*(1+y)/2 + i])
{
i-=x;
high2++;
}
pMainDlg-UpdateData(TRUE);
pMainDlg-m_edHigh1 = high1;
pMainDlg-m_edHigh2 = high2;
pMainDlg-UpdateData(FALSE);
}
여기서 x랑 y값은 사진의 픽셀 가로와 세로이고 binary 배열크기는 x * y 로 만들어져 있는데
위 소스 중에서 While문의 조건에
(binary1[x*(1+y)/2 + i])를
사용하는 이유를 잘 모르겠어서 질문드립니다.
아는분 설명좀 부탁드려요