Introducción a los filtros de procesamiento de imágenes
El filtro de procesamiento de imágenes es una extensión WIA. El filtro de procesamiento de imágenes sirve para dos propósitos principales:
Para permitir que el código de procesamiento de imágenes esté separado del controlador. Por ejemplo, el filtro de procesamiento de imágenes se puede usar para modificar el brillo y el contraste de una imagen, y para realizar la rotación y el escritorio. El filtro de procesamiento de imágenes está en su propio archivo DLL, independiente del archivo DLL del controlador en modo de usuario. El filtro de procesamiento de imágenes recibe datos de imágenes sin filtrar del controlador en el que realiza el filtrado.
Para habilitar las versiones preliminares en directo precisas. El filtro de procesamiento de imágenes se usa desde un nuevo componente de Windows Vista WIA Preview (descrito en la documentación de Microsoft Windows SDK) que proporciona vistas previas dinámicas precisas. En este contexto, "live" significa que una aplicación no tendrá que volver a adquirir la imagen del analizador una vez que cambie algunos valores de propiedad, que se describen más adelante en esta sección. Las vistas previas son precisas, ya que el filtrado se realiza realmente por un componente de proveedor en la imagen de vista previa real en lugar de solo un filtro aleatorio en una imagen totalmente independiente.
Para proporcionar vistas previas precisas, un filtro debe implementar propiedades de brillo y contraste como mínimo. Esto es así que la interfaz de usuario común, que proporciona controles de brillo y contraste al usuario, puede mostrar vistas previas precisas.
El filtro de procesamiento de imágenes siempre se ejecuta cuando se examina una imagen. Por lo tanto, no hay ninguna manera de que una aplicación obtenga la imagen del escáner sin tener aplicado primero el filtro de procesamiento de imágenes. No es necesario que una aplicación tenga en cuenta el filtro.
Microsoft proporciona el componente de vista previa de WIA que almacena en caché la imagen de vista previa original sin filtrar que se adquiere del analizador. El componente De vista previa permite aplicar un filtro varias veces a una imagen sin tener que volver a adquirir la imagen del analizador. Normalmente, el componente de vista previa de WIA se usaría para las imágenes de vista previa cuando una aplicación permite a un usuario cambiar la configuración, como el contraste y el brillo. Mientras el usuario cambia la configuración, la aplicación puede mostrar continuamente la imagen resultante en el panel de vista previa sin tener que volver a examinar la imagen.
El filtro de procesamiento de imágenes es una extensión WIA, que se ejecuta como un componente COM en proceso. A diferencia del filtro de segmentación, una aplicación normalmente no crea una instancia del propio filtro de procesamiento de imágenes llamando a IWiaItem2::GetExtension (que se describe en la documentación de Windows SDK). En su lugar, la aplicación creará una instancia del componente de vista previa de WIA, que a su vez cargará el filtro de procesamiento de imágenes real mediante el método IWiaItem2::GetExtension . El filtro de procesamiento de imágenes también se invoca automáticamente cuando una aplicación llama a IWiaTransfer::D ownload.
Un filtro de procesamiento de imágenes está vinculado a un controlador y normalmente se distribuye junto con el controlador. El componente wia preview está disponible en sti.dll y se distribuye con el sistema operativo.
En la ilustración siguiente se muestra el filtro de procesamiento de imágenes que cargan los componentes de WIA en el proceso de la aplicación. Tenga en cuenta que es posible que se cargue más de una instancia del filtro de procesamiento de imágenes en el proceso de la aplicación al mismo tiempo, por lo que las escrituras de filtros deben tener cuidado con esto. Por ejemplo, en caso de que se usen variables globales (estáticas), el escritor de filtros debe garantizar la sincronización adecuada.