Hay toneladas de soluciones de escaneo de líneas disponibles, desde cámaras que usan interfaces de enlace de cámara y con interfaces de Ethernet por $ 6K hasta sensores de aproximadamente 8 fabricantes diferentes.
Sin embargo, como mencionas Arduino, asumiré que:
1) Este es un proyecto único, no hay consideración para diseñar algo
2) Quieres gastar lo menos posible.
Normalmente, el mejor resultado (el menos costoso) será utilizar lo que se conoce como un módulo CIS (Sensor de imagen de contacto), que es el costo más bajo que podrá obtener. El mejor lugar para obtener estos es comprar un escáner muy económico y arrancar las tripas y reutilizarlo, ya que tendría una interfaz USB para su Arduino. Esto tendría las luces y todo lo que necesitas.
El problema fundamental que tiene su dibujo es que no hay ópticas. Incluso el módulo CIS del escáner tiene algunas lentes desde la matriz pero solo se ven muy cerca de la matriz. con el dibujo como se muestra tu solo vas a obtener un borrón. Tal vez funcione para obtener un escáner que tenga algunas lentes en él. Algunos de los más avanzados no utilizan módulos CIS, sino que usan lentes y CCD.
La otra alternativa es usar una sección más pequeña de la matriz CIS y colocarla detrás de una lente SLR (35 mm - toneladas de las usadas). La mayoría de las soluciones de imágenes de máquinas / industriales tienden a usar tipos de lentes similares a los que se usan para la SLR, simplemente debido a la disponibilidad. Si utiliza una solución de lente, tendrá que tener una separación mucho mayor (distancia de la lente al objeto).