Estoy tomando capturas de pantalla de la pantalla usando un robot y luego buscando imágenes más pequeñas dentro de esas capturas de pantalla. Esto funciona en Windows pero no en OS X debido a la corrección gamma. La mejor solución que se me ocurre es simplemente combinar colores similares en lugar de coincidencias de color exactas.Cómo unir colores similares en Java usando getRGB
Mi temor es que igualar colores similares signifique ir más allá de getRGB, por lo tanto ralentizará mi programa (porque está tomando múltiples capturas de pantalla y comparándolas con una imagen más pequeña para buscar una coincidencia muy rápidamente).
Mi pregunta es, digamos que tenía BufferedImage pantalla y BufferedImage SmallImage, ¿cómo hago para determinar si Screenshot.getRGB (1,1) y (1,1) smallImage.getRGB son similares colores?
que solicitó en un comentario acerca de una manera más rápida de conseguir que los valores de píxeles * getRGB * ... * * getRGB puede ser de hecho terriblemente lento: en algunas versiones de OS X puede ser de hasta dos órdenes de magnitud (sí, cien veces más lento [!], medido en OS X 10.4) más lento que obtener directamente los valores de píxel del * int [] * subyacente. Vea mi respuesta (aceptada) aquí sobre una forma más rápida de extraer un histograma de una imagen: http://stackoverflow.com/questions/8218072/faster-way-to-extract-histogram-from-an-image/8218570#8218570 Una técnica similar podría aplicarse en su caso para que ambos sean más rápidos y eviten la corrección gamma. – TacticalCoder