2012-01-02 7 views
0

WIA를 사용하여 스캐너 ADF에서 사진을 스캔하는 스캐너 프로그램을 만들었습니다. 잘 작동하지만 플랫 베드에서 여러 이미지를 스캔 할 수 있기를 원합니다.스캔에서 이미지를 추출하는 방법. 이미지 내부의 이미지는 어떻게 찾습니까?

이미지가 평판에있는 위치를 어떻게 알 수 있습니까? 스캔 한 이미지를자를 위치를 알아야하지만 이미지가 스캔 된 이미지의 어느 위치에 있는지 알지 못하면 잘라낼 수 없습니다.

Google을 검색했지만 찾고있는 모든 것은 이미지를 비교하거나 이미지가 다른 이미지 등에 있는지 확인하는 것입니다. 물론 내가 원하는 것은 아닙니다. 플랫 베드에서 임의의 모든 이미지의 위치를 ​​찾을 수 있기를 원합니다. 각 이미지를 반복하여 저장할 수 있습니다.

프로그램은 C#으로 작성되었습니다.

답변

0

알고리즘 : 겹치지 않는 사각형 집합에서 개별 이미지를 선택하는 가장자리 검출기를 사용하여 필터를 구성 할 수 있습니다.

다음 방법을 사용합니다. 가장자리 감지기로 가장자리 목록을 얻으십시오. 교차 시켜서 루프를 형성하는 에지 세트로 이들을 필터링하고 루프의 에지 수를 4로 지정하십시오. 다른 루프 내부에서 발생하는 루프를 제거하십시오. 품질이 낮은 가장자리를 제거 할 수도 있습니다 (직선 직선을 찾고 있으므로 원하는 가장자리를 쉽게 찾을 수 있어야합니다).

그런 다음 이미지의 테두리 고리 목록이 있으므로 어떤 기본 정렬 처리 (쌍 선형 아핀 블리트)를 사용하여 정렬 불일치를 변환하고 파일로 출력 할 수 있습니다.

가능한 라이브러리 : 나는 opencv.net, http://code.google.com/p/opencvdotnet/을 볼 것입니다.