Skip to content

Frame Extraction

core.FrameExtractor

주어진 연속된 프레임들 중에서 검사에 사용할 최적의 프레임을 추출하는 클래스입니다.

Usage

demo/frame_extraction.py 참고

build(config) classmethod

FrameExtractor class의 instance를 생성합니다.

Parameters:

Name Type Description Default
config Dict

FrameExtractor build 하기 위한 config가 담겨 있는 dictionary 입니다.

{
    "reference_frame": Union[str, np.ndarray],  # 최적 검사 프레임으로 판단할 기준이 되는 프레임.
                                                # str인 경우, 해당 경로의 이미지를 로드하여 사용합니다.
    "roi": Optional[Dict],                      # ROI 세팅. ROIHandlerAPI의 build config와 동일합니다.
                                                # ROI는 내부 비교에만 사용되며, 최종 결과에는 반영되지 않습니다.
                                                # None이면 ROI를 적용하지 않습니다. (default None)
    "weights": Optional[List[float]],           # 인접 프레임 간의 가중치. 길이는 홀수여야 합니다. (default None)
}

required

Returns:

Name Type Description
AnalysisHandler FrameExtractor

build가 완료된 core.AnalysisHandler class의 instance를 반환합니다.

Note

경로에서 이미지를 로드할 때 다른 모듈에서 사용하는 ImageLoader를 사용하고 있지 않으므로, 16bit 이미지 등은 로드가 불가능할 수 있습니다.

extract_optimal_frames(frames, num_frames=1)

주어진 연속된 프레임들 중에서 검사에 사용할 최적의 프레임을 추출합니다.

Parameters:

Name Type Description Default
frames List[ndarray]

연속된 프레임들의 List 입니다. 각 프레임은 다음 제약 조건을 갖습니다. data type: uint8 channel: H x W / H x W x 1 - Gray H x W x 3 - RGB H x W x 4 - RGBA

required
num_frames int

추출할 프레임의 개수입니다. (default 1)

1

Returns:

Type Description
List[ndarray]

List[np.ndarray]: 추출된 최적 프레임들의 List 입니다. 각 프레임은 변형 없이 입력된 프레임과 동일합니다.