2010-03-23 16 views
6

Me han encargado integrar la adquisición de imágenes en una aplicación .NET y he estado buscando una API para usar para realizar esta función. He encontrado varias API "estándar", algunas han existido durante mucho tiempo, otras no tanto. He visto referencias a ISIS, TWAIN, WIA y SANE (se dice que son en su mayoría * nix). Todos ellos parecen ser bibliotecas de Win32 a excepción de SANE, y me preguntaba cuáles son las recomendaciones actuales para hablar con dispositivos de adquisición de imágenes (escáneres).¿Cuál es la mejor API de captura de imágenes .NET que puedo usar?

Puede recomendar cualquier otra cosa si cree que es mejor. Estoy buscando opciones de código abierto.

Edit: Puse el código abierto, cuando lo que realmente quise decir era libre. usar WIA o TWAIN está bien, ya que son gratuitos a pesar de que son interfaces propietarias.

Respuesta

3

Si está limitando la elección de código abierto, se está limitando a SANE. Dudo que haya otra biblioteca de código abierto que esté cerca de SANE en términos de soporte y compatibilidad de dispositivos. Dicho esto hay que mencionar que SANE sigue siendo bastante pobre en comparación con el soporte de dispositivos APIs propietarias como TWAIN y WIA ...

Si el código abierto no es un debe tener - entonces la elección depende del sistema operativo. WIA sería la mejor solución para Windows XP y más reciente, TWAIN podría ser mejor si necesita soportar Windows 2000 o 9x (creo que TWAIN también se supone que es multiplataforma, aunque no tengo ninguna evidencia de ese derecho ahora). Comparado con WIA, la API TWAIN está horriblemente desactualizada (IMHO), y WIA tiene requisitos más estrictos para soportar cosas como escaneo por lotes (que TWAIN deja al fabricante del dispositivo para admitir o no).

+0

Ah, y teniendo en cuenta que desea .NET API: las API de adquisición de imágenes están todas en código nativo, definitivamente necesitará un contenedor administrado. –

+0

Debería considerar Abrir CV. Es un conjunto de herramientas muy completo, probablemente exagerado para sus necesidades actuales, pero es fabuloso. [Emgu] [1] es un contenedor .NET a su alrededor. [1]: http://www.emgu.com/wiki/index.php/Main_Page – Mikos

+0

Por lo que puedo ver Abrir CV no es una API de adquisición/captura de imágenes ... –

4

Si su aplicación utiliza escáneres de gama alta y necesita escribir una aplicación que maximice el rendimiento de sus escáneres y aproveche todas las características avanzadas de estos escáneres, querrá echarle un vistazo a una API basada en ISIS . Personalmente, utilicé Captiva's/EMC's PixTools SDK con gran éxito para crear una aplicación para una casa de escaneo de gran volumen. El kit de herramientas facilitó bastante la limpieza de imágenes escaneadas sobre la marcha utilizando varios filtros de procesamiento de imágenes y software. También pude integrar fácilmente el reconocimiento de código de barras y patchcode. El kit de herramientas es costoso, unos $ 6k hace cuatro años.

Pero sospecho que su aplicación no requiere una solución de gama alta. En este caso, creo que deberías mirar TWAIN. Nunca lo intenté yo mismo, pero entiendo que es difícil trabajar con TWAIN. Hace un tiempo me encontré con un artículo sobre CodeProject donde el autor presenta una envoltura de .NET para TWAIN:

.NET TWAIN image scanner

jugué con él un poco y parece que ha funcionado. Aquí en SO encontré un hilo donde Luke Quinane refiere al lector a su proyecto de Google Code basado en este mismo artículo. Aquí está el enlace:

Twain Dot Net

0

Si se puede vivir con la ayuda del dispositivo de Sane, por todos los medios ir con ella, ya que es más sano, libre (abierta), flexible. Oðers siempre impondrá limitaciones arbitrarias.

+1

Eso es completamente ilegible. ¿Podría usar letras ASCII? – Alexander

+0

þ y ð = th (islandés), s = s (antiguo alemán) – ygoe

1

Le sugiero que vaya con controladores TWAIN en la mayoría de los casos, ya que proporciona la máxima compatibilidad con los escáneres y también la libertad de personalizar el escaneo en función del modelo del escáner. Si está construyendo una aplicación de escaneo simple, WIA también podría ser adecuada. Para ISIS, a menos que tenga un requisito específico, será mejor que compruebe otras opciones primero. SANE proporciona un soporte óptimo en el escaneo de red y en sistemas donde no hay un sistema de Windows.

Cuestiones relacionadas