blobFromImage() 함수로 생성한 블롭 객체는 Net::setInput() 멤버 함수를 이용하여 네트워크 입력으로 설정합니다. Net::setInput() 함수 원형은 다음과 같습니다.
void Net::setInput(InputArray blob, const String& name = "", double scalefactor = 1.0, const Scalar& mean = Scalar()); |
|
• blob |
블롭 객체. CV_32F 또는 CV_8U |
• name |
입력 레이어 이름 |
• scalefactor |
추가적으로 픽셀 값에 곱할 값 |
• mean |
추가적으로 픽셀 값에서 뺄 평균값 |
Net::setInput() 함수 인자에도 blobFromImage() 함수에 있는 scalefactor와 mean 인자가 있어서, 추가적인 픽셀 값을 조정할 수 있습니다. 결국 네트워크에 입력되는 블롭은 다음과 같은 형태로 설정됩니다.
네트워크 입력을 설정한 후에는 네트워크를 순방향으로 실행하여 결과를 예측할 수 있습니다. 네트워크를 실행할 때에는 Net::forward() 멤버 함수를 사용합니다. Net::forward() 함수는 순방향으로 네트워크를 실행한다는 의미이며, 이를 추론(inference)이라고도 합니다. Net::forward() 함수 원형은 다음과 같습니다.
Mat Net::forward(const String& outputName = String()); |
|
• outputName |
출력 레이어 이름 |
• 반환값 |
지정한 레이어의 출력 블롭 |