¿Por qué UFRaw no encuentra automáticamente el perfil de la lente para una de mis lentes, aunque esté en la base de datos?

Cuando abro una imagen sin procesar, hecha con una Canon EOS 600D, UFRaw para algunas lentes no encuentra automáticamente el perfil de la lente.

Este es un ejemplo donde encuentra el perfil:

From the EXIF information:
Lens Model: EF-S17-85mm f/4-5.6 IS USM
Lens Type: Canon EF-S 17-85mm f4-5.6 IS USM

From the lensfun database file slr-canon.xml:
Model: Canon EF-S 17-85mm f/4-5.6 IS USM

El perfil lensfun de este objetivo tiene un factor de recorte de 1,611.

Este NO se encuentra automáticamente:

From the EXIF information:
Lens Model: EF-S18-135mm f/3.5-5.6 IS USM
Lens Type: (36912)

From the lensfun database file slr-canon.xml:
Model: Canon EF-S 18-135mm f/3.5-5.6 IS USM

El perfil lensfun de este objetivo se realizó con una EOS 7D Mark II de Canon, con un factor de recorte de 1,605.

El factor de recorte para la Canon EOS 600D en la base de datos de lensfun es 1,613.

¿Por qué no se encuentra automáticamente el Canon EF-S 18-135 mm f/3.5-5.6 IS USM?

Las lentes no tienen factores de recorte. Las cámaras sí. Más específicamente, los sensores de las cámaras lo hacen. ¿Está preguntando por qué el segundo perfil muestra un factor de recorte de 1,605 en lugar de 1,613?
No, solo lo mencioné, en caso de que importara. Estoy preguntando por qué una lente se selecciona automáticamente y la otra no. Ambos están en la base de datos de lensfun.
ufraw no se ha actualizado en varios años, y en ese momento el soporte de lensfun todavía estaba marcado como experimental. Solo por curiosidad, ¿funciona un software más actualizado? Y, ¿qué versión de la base de datos de lensfun tienes?
UFRaw es antiguo... Ver RawTherapee, Darktable, Photozone, todo mucho mejor. Visite pxls.us donde se discuten (y donde puede ponerse en contacto con los autores).
Darktable usa lensfun, al igual que UFRaw. Muestra el nombre de la cámara y dice "objetivo desconocido, seleccione manualmente". Para la lente, muestra el tipo de lente de la información EXIF, no el nombre de la lente. Por alguna razón, el tipo de lente está (36912)en el EXIF.

Respuestas (1)

Es posible que el tipo de lente en Exif no esté asignado a un nombre de lente utilizable por el software que está utilizando. En el caso de darktable, esto depende de exiv2, que puede no tener este mapeo de lentes si es una versión anterior de exiv2. Para agravar el problema, exiv2 es posible que no continúe brindando esta funcionalidad en el futuro , por lo que incluso las versiones recientes pueden presentar este problema para lentes recientes. La solución sugerida es que los usuarios proporcionen sus propios mapeos para las lentes que usan.

No es un factor en este caso, pero como información general: Lensfun normalmente no usará un perfil creado con una cámara con un sensor más pequeño para una imagen creada con una cámara con un sensor más grande. Esto se debe a que, si bien se puede calcular con precisión un ajuste en la dirección opuesta, este caso requeriría suposiciones sobre lo que hace la lente en las áreas cercanas a los bordes que no formaban parte del perfil original.

Pero en este caso, la 600D recorta un poco más, a 1,613, que cualquier cámara que tuviera el factor de recorte de 1,611 o la 7DII a 1,605. Entonces, ambos perfiles, el que se reconoció automáticamente y el que no, se generaron con cámaras que no recortan tanto como la 600D.
@MichaelClark Gracias, sí, estaba bastante distraído cuando intenté la respuesta, con un pedo cerebral haciendo malabarismos con los diferentes cultivos; Dejaré esa información porque puede ser útil en general, pero edite la aplicabilidad a este caso.
Instalé Darktable, que también mostraba el tipo de lente como (36912), al igual que exiftool. Ahora también instalé exiv2 (no estaba instalado, entonces ¿estás seguro de que Darktable depende de eso?). Esto muestra lo siguiente: $ exiv2 -p a _MG_4680.CR2 | grep -i lens Exif.CanonCs.LensType Short 1 Canon EF 70-300mm f/4-5.6 IS II USM(recortado porque es demasiado largo para un comentario y se pierde el formato) Esto muestra el tipo de lente correcto. El LensIDNumer que se menciona en su solución sugerida no está en la salida (¿podría ser específico de Nikon?).
Lo sentimos, imagen de prueba incorrecta (otro objetivo). Los resultados deberían ser: ``$ exiv2 -pa _MG_4678.CR2 | grep -i lente Exif.CanonCs.LensType Corto 1 Canon EF-S 18-135 mm f/3.5-5.6 IS USM`
Dependiendo de cómo obtuviste darktable, puede ser una compilación estática contra una más antigua exiv2; tendrías que construirlo contra el más nuevo. Para mapear lentes Canon, parece que usaría el valor LensType (sin traducir), "36912".