Cómo dibujar un image histogram de un UIImage en iPhone mediante programación? ej .:Cómo dibujar un histograma de un UIIMage mediante programación?
Gracias!
Cómo dibujar un image histogram de un UIImage en iPhone mediante programación? ej .:Cómo dibujar un histograma de un UIIMage mediante programación?
Gracias!
En realidad no es, me referiré a su a la respuesta de Brad Larson: https://stackoverflow.com/a/10359305/300115
Puede encontrar el GPUImageHistogramFilter clase en su biblioteca: https://github.com/BradLarson/GPUImage
La demo "Escaparate de filtro" en el lib ya tiene una versión de trabajo de un análisis de histograma en vivo.
No hay API para eso.
Editar: Se ha introducido una API con iOS5. Ver la respuesta de Kelin.
Desea obtener los datos brutos de la imagen, contar los valores de color y dibujar el histograma usted mismo.
acceso a los píxeles: How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?
Use CoreGraphics para dibujar el histograma en una subclase UIView personalizado.
Usted podría estar interesado en DSBarChart. Darle una oportunidad.
En lugar de solo vincular a su proyecto de código abierto, ¿podría proporcionar un ejemplo más detallado de cómo usaría su proyecto para crear un histograma como el de arriba? Eso podría ayudar mejor a las personas que están buscando su marco para esto. –
Puede calcular el histograma con la ayuda de Accelerate framework. Hay una función vImageHistogramCalculation_ARGB8888()
. Para invocar esta función, necesita crear vImage_Buffer desde el UIImage. Utilice la función vImageBuffer_InitWithCGImage()
para ello.
Para más información se puede añadir este marco para su proyecto y leer documentos en los archivos de cabecera:
Accelerate.framework/Frameworks/vImage.framework/cabeceras/vImage_Utilities.h Accelerate.framework/Frameworks/vIndicador .framework/Headers/Histogram.h
No estoy de acuerdo con su afirmación de que no hay una API. Ver mi respuesta – kelin
@kelin Tienes razón. Esta API se introdujo 1 año después de mi respuesta. Entonces no es realmente desacuerdo, sino actualización. He modificado mi respuesta y he votado a favor. – tonklon