2010-12-03 3 views
0

나는 내 작업에 약간 압도되어있다. TWAIN 스캐닝에 사용하는 툴킷이 있습니다. 고객 중 일부는 기울기 조정 옵션이 설정된 경우 스캔 속도가 느려지는 것에 대해 불평하고 있습니다. 이는 스캐너가 하드웨어 디스 큐를 지원하지 않으면 CPU에서 사후 처리를 수행하기 때문입니다. 나는 누군가가 이것을 달성하기 위해 좋은 (즉, 빠른) 알고리즘을 알고 있는지 궁금해하고있었습니다. 현재 어떤 알고리즘을 사용하고 있는지 말할 수 없습니다. 이 알고리즘에는 어떤 알고리즘이 있으며 속도/정확도까지 어떻게 순위를 매기 는가? 내가 알고리즘의 이름을 알고 있다면, 나는 그들에 대해 구글 검색을하는 것이 더 쉬울 수있다.가장 빠른 디스 큐 알고리즘?

감사합니다. -Tom

+0

"이미지 디스 큐 알고리즘". 구입 : http://www.leadtools.com/help/leadtools/v15/DocumentImaging/default.htm?turl=WordDocuments%2Fdocumentcleanupkeyfeatures1.htm –

+0

in C++ http://www.sydlogan.com/deskew.html –

+0

기울어 짐을 제거하기를 원하는 샘플 이미지를 게시하고 걸리는 시간을 측정하고 결과 이미지를 다시 볼 수 있습니다. 300dpi G4 TIFF 이미지는 압축 해제 및 압축을 포함하여 오늘날 하드웨어에서 1 초도 채 걸리지 않아야합니다. leptonica (leptonlib)의 경우 –

답변

3

컬러 또는 흑백으로 스캔하고 있습니까?

기울어 짐 방지는 프로세서 집약적입니다. Group4 tiff 또는 JPEG는 압축을 풀고 기울기 각도를 결정하고 기울기를 보정 한 다음 압축해야합니다.

왜곡 보정 기능이있는 많은 이미지 처리 알고리즘이 있으며 수년 동안 많은 것을 평가했습니다. 서로 다른 라이브러리간에 처리 속도에는 큰 차이가 있습니다. 사용 된 알고리즘보다는 코딩이 얼마나 잘되는지에 따라 많은 차이가 있습니다. 상업 도서관에는 이미지를 읽고 쓰는 것만으로도 큰 차이가 있습니다.

내가 사용했던 가장 빠른 상업성 왜곡 보정은 Unisoft Imaging (www.unisoftimaging.com)에서 제공됩니다. 나는 그것의 대부분이 어셈블러로 작성되었다고 가정한다. Unisoft는 수년 동안 사용되어 왔으며 매우 빠르고 효율적입니다. 검은 색 테두리 제거, 색상 및 흑백 기울기 보정을 포함하여 다양한 다른 기울기 보정 옵션을 지원합니다. Group4 루틴은 매우 견고하고 매우 빠릅니다. 이 라이브러리에는 TWAIN 및 기본 SCSI 스캐너 지원뿐만 아니라 많은 다른 이미지 처리 옵션이 제공됩니다. 또한 유닉스를 지원한다.

무료 기울기 보정을 원할 경우 Leptonica를 살펴볼 수 있습니다. 문서가 너무 많지는 않지만 매우 안정적이며 잘 쓰여 있습니다. http://www.leptonica.com/

코드를 처음부터 개발하는 것은 꽤 시간이 많이 소요될 수 있으며 버그가 많고 오류가 발생할 수 있습니다.

다른 옵션은 별도의 프로세스에서 문서를 처리하여 스캐너가 스캐너 속도로 실행되도록하는 것입니다. 현재 당신은 아마 모든 것을 병렬 방식으로 처리하고 있습니다. 하나씩 차례대로 처리하므로 느려질 수 있습니다.

+0

+1입니다. 그것은 합리적으로 빠른 디코딩/인코딩을 위해 libtiff를 사용하며 디스 큐 알고리즘은 내가 본 가장 빠른 것 중 하나입니다 (각도 검출을위한 차선 합계와 회전을위한 래스터 쪼어주기). 그리고 나는 문서에 대해 동의하지 않습니다 - 소스 파일은 꽤 좋은 문서 주석을 가지고 있습니다. "한 곳에서"문서가 없습니다. 당신이 C++로 개발하고 있다고 생각하면 훌륭한 선택이 될 것입니다. – allonym

+0

나는 방금 Leptonica에 들어갔다. 소스 코드를 살펴본 결과에 동의해야합니다. 소스 코드 주석은 매우 유용합니다. 그것은 한 곳에서 그것을 가지고있는 것이 좋을 것이다. Lpetonica는 잘 지원되며 Google Tesseract OCR 프로젝트의 필수 요소입니다. –

+0

+1 leptonlib에 대해 다시 JBig2 용 응용 프로그램에서 사용하고 있습니다 ... 그러나 어떻게 실제로 해결 했는가 - 프로젝트의 최소 각도와 최대 각도를 줄였습니다. 나는 반갑게 받아 들일 만하다. –

0

하드웨어가 가속화되는 경우를 제외하고는 실시간으로 디스 큐를 수행 할 수 없으므로 사후 처리로 고려하십시오.

기울기 보정은 기울기 감지 및 회전의 두 단계로 구성됩니다. 왜곡 각도를 감지하는 것은 일반적으로 B & W (1 비트) 이미지에서 더 빠르게 수행 할 수 있습니다. 회전 속도는 보간의 품질에 따라 다릅니다. 좋은 품질의 기울기 제거 도구를 사용하면 페이지를 스캔하는 것보다 훨씬 많은 시간이 걸립니다.

하드웨어 JPEG 또는 TIFF 그룹 4 압축이 있고 TWAIN 라이브러리가이를 활용하면 고속 스캐너가 분당 120 개의 양면 페이지를 처리 ​​할 수 ​​있습니다 (힌트 : 기본 모드 사용 안 함). 하드 드라이브에 파일을 저장하는 데는 압축 속도, 스큐 감지, 회전, 재 압축만으로는 충분하지 않습니다. 동영상 카드의 하드웨어 가속기를 사용하여 회전 및 압축 할 수있는 경우가 아니라면 품질 기울기 보정은 페이지 당 몇 초가 걸립니다.

0

이미 이러한 알고리즘을 구현 한 것으로 알고 있습니까? 그렇다면 최적화 할 공간이 없습니까? 기존 솔루션의 프로파일 링부터 시작하겠습니다.

어쨌든 빠른 디지털 라돈 변환 알고리즘을 찾아야합니다.

http://pagetools.sourceforge.net을 살펴보십시오. 그들은 디스 큐 알고리즘을 구현했다.