![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Y como hago para pasar a escala de grises?Hay alguna funcion en Delphi que lo haga?
|
|
#2
|
|||
|
|||
|
Desconozco si la hay, yo he trabajado con el tratamiento de imagenes pero a través de Java y lo he hecho todo sin la utilización de algún método o componente.
Sería una buena opción que se hiciera desde delphi Saludos |
|
#3
|
|||
|
|||
|
procedure Histograma( const BitmapOriginal: TBitmap );
var x, y: Integer; G: Byte; W,H: Integer; Histograma: Array [0..255] of byte; begin if BitmapOriginal.PixelFormat = pf24bit then begin W := BitmapOriginal.Width; H := BitmapOriginal.Height; for y := 0 to H-1 do begin ptrOrig := BitmapOriginal.ScanLine[y]; for x := 0 to W-1 do begin G := ( ptrOrig[3*x] + ptrOrig[3*x+1] + ptrOrig[3*x+2] ) div 3; inc( Histograma[G] ); end; end; Chart1.SeriesList[0].Clear; Chart1.SeriesList[0].AddArray( Histograma ); end; end; |
|
#4
|
|||
|
|||
|
Muchas gracias por el codigo, y sobre todo por las molestias que os tomais. Lo entiendo bien, pero el problema es que lo que hago es cargar una imagen en un TImage, y a partir de ella es cuando hago el histograma. Como hago para que el bitmap sea el de la imagen?
Muchas gracias |
|
#5
|
|||
|
|||
|
Le pasas a la función como parámetro Image.Picture.Bitmap pero primero has de haberla cargado de fichero con la funcion image.picture.loadfromfile o algo así.
Es para el trabajo? donde trabajas? |
|
#6
|
|||
|
|||
|
Hola, pues es para un trabajo que me han pedido en la uni, y le keria meter el histograma. Una cosilla, la variable ptrOrig, como se declara?
Gracias |
|
#7
|
|||
|
|||
|
Hola otra vez, ya me calcula el histograma segun el programa que me has dejado, pero no se que hace, porque calcula asi los valores. Me puedes echar una mano?
Gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|