2012-09-17 4 views
0

확인. 이것은 영어가 아닌 OCR 프로젝트의 일부입니다. 나는 기울기 보정, 그레이 스케일링, 글리프 분할 등의 전처리 단계를 이미 완료했으며 가장 중요한 단계에 머물러 있습니다. 글리프 이미지 데이터베이스와 비교하여 글리프 식별을 식별하므로 견고하고 효율적인 지각 이미지를 고안해야합니다. 해시 알고리즘.지각 이미지 해싱

필자가 요구하는 기능은 일반 이미지 비교 문제에서 요구되는만큼 복잡한 것은 아닙니다. 하나 들어, 내 이미지는 항상 그레이 스케일 (심지어는 B & W이기 때문에 식별 작업이 쉬워진다.). 또 다른 한가지로, 그 글리프는 더 "스트로크 지향적"이며 사진보다 간단한 구조를가집니다.

나는 내 자신의 일부를 시도해 보았으며, 좋은 유사성 척도를 정의하기위한 아이디어를 빌렸다. 한 가지 방법은 이미지를 M × N 셀의 그리드로 나누고 각 셀의 평균 "흑색도"를 취하여 이미지의 해시를 생성 한 다음 유클리드 거리를 사용하여 이미지를 비교하는 것이 었습니다. 또 다른 방법은 각 글리프에서 "모서리"를 찾아 공간 위치를 비교하는 것입니다. 그들 중 누구도 매우 견고하다는 것을 증명하지 못했습니다.

거기에는 SIFT와 SURF와 같은 강력한 후보가 있다는 것을 알고 있지만 사용하지 않는 3 가지 이유가 있습니다. 하나는 그들이 독점적 인 (또는 어떻게 든 특허를받은) 상업용 앱에는 사용할 수 없다고 생각합니다. 둘째, 그것들은 매우 일반적인 목적이며 다소 단순한 이미지 영역에 대한 과잉이라고 생각됩니다. 세 번째는 사용할 수있는 구현이 없다는 것입니다 (저는 C#을 사용하고 있습니다). 나는 심지어 C#로 pHash 라이브러리를 변환하려했지만 실패했다.

나는 마침내 여기에 있습니다. 누구든지 코드 (C# 또는 C++ 또는 Java 또는 VB.NET을 알고 있지만 .NET 세계에서 사용할 수없는 모든 종속성이 필요하지 않음), 라이브러리, 알고리즘, 메서드 또는 아이디어를 사용하여 강력하고 효율적인 해싱 알고리즘을 만들 수 있습니다. 등 이동, 회전, 크기 조절, 흐림, 반점 같은 작은 시각적 결함을 생존

+0

나는 C#에서 똑같은 것을 찾고있다. 행운을 빌어 서 뭔가 찾았습니까? – Thomas

+0

아직 없습니다. 일부 연구 논문을 읽고 다른 어떤 것도 시도하지 않고 우리 자신의 코드를 작성해야 할 수도 있습니다. 위에서 언급 한 몇 가지 기술은 일부 논문에서도 나온 것입니다. – dotNET

답변

0

이미 이와 비슷한 시도했습니다처럼 보이는,하지만 여전히 일부 사용 될 수 있습니다

https://www.memonic.com/user/aengus/folder/coding/id/1qVeq

+0

고마워요. 네, 전에이 기사를 읽었습니다. 하지만 저자가 말한대로 : "텍스트가 추가되거나 머리가 연결될 때 수정하면 텍스트 해시가 작동하지 않을 것입니다 .Patash는 느리지 만 사소한 수정에는 매우 관대합니다 (사소한 부분이 그림의 25 % 미만이다). " OCR 이미지는 경미한 (때로는 심각한) 변환을하는 것보다 더 자주 발생합니다. – dotNET