Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Regolare la luminosità di una foto da programma

    Gentili Amici,

    mi sapreste dare indicazioni su come regolare da programma, in C++ (senza quindi la necessità dell'intefaccia utente) la luminosità di una fotografia? Esistono delle routines (opene source) richiamabili? Ho letto qualcosa di simile su Gimp.

    In pratica, da una foto mostrata su una pagina web, vorrei visualizzarne automaticamente una seconda con una luminosità migliore.

    Vi ringrazio dell'aiuto che vorrete darmi.

    Vi saluto,

    Maurizio

    ps. Visto che mi trovo in una fase d'analisi iniziale, dietro suggerimento potrei comunque usare anche linguaggi diversi dal C++.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Manca l'indicazione del linguaggio con cui intendi realizzare la cosa.
    E' essenziale, oltre che richiesto dal Regolamento.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Prima di tutto sai cos'è la luminosità ?

  4. #4

    Approfondimento suggerito da Menphisx

    Cia Menphisx,

    E' chiaramente più che pertinente la tua domanda! Ed in effetti, ora che mi fai meglio riflettere, non sò se è la "luminosità" il parametro che mi serve controllare e modificare da programma per il mio scopo.

    Non so se è possibile ma vorrei riuscire a "normalizzare" automaticamente l'esposizione di una generica fotografia (che nel mio caso sarà sicuramente un viso in primo piano).

    Ovvero, acquisire un immagine; sottoporla ad un filtro che normalizzi automaticamente l'esposizione ad un riconosciuto valore medio accettabile; riproporre l'immagine corretta. In pratica, se l'immagine è scura dovrà essere automaticamente schiarita, se è chiara andrà scurita.

    Non conosco i parametri di riferimento e non saprei ri-calcolare una corretta esposizione (media rispetto l'intera immagine) di una fotografia.

    Non so se esistono routines che possono aiutarmi in tal senso ed ecco che chiedo un aiuto a voi, aiuto che già mi è stato utile per questo successivo approfondimento!

    Aspetto eventuali altri gentili suggerimenti.

    Maurizio

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Re: Moderazione

    Originariamente inviato da LeleFT
    Manca l'indicazione del linguaggio con cui intendi realizzare la cosa.
    E' essenziale, oltre che richiesto dal Regolamento.


    Ciao.
    Mi auto-quoto...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    LeleFT credo si tratti di C++

    Riguardo alla luminosità è:
    codice:
    (R+G+B) / 3
    Cioè una semplice media aritmetica delle componenti RGB.

  7. #7
    Potresti usare la libreria FreeImage++ (wrapper C++ di FreeImage) e il metodo fipImage::adjustBrightness, tramite il quale puoi aumentare o diminuire la luminosità dell'immagine. D'altra parte per fare quello che chiedi credo sia più utile attuare una equalizzazione dell'istogramma dell'immagine (possibile sempre tramite FreeImage++), come descritto qui.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Originariamente inviato da MItaly
    Potresti usare la libreria FreeImage++ (wrapper C++ di FreeImage) e il metodo fipImage::adjustBrightness, tramite il quale puoi aumentare o diminuire la luminosità dell'immagine. D'altra parte per fare quello che chiedi credo sia più utile attuare una equalizzazione dell'istogramma dell'immagine (possibile sempre tramite FreeImage++), come descritto qui.
    MItaly, grazie mille!

    in effetti cercavo proprio delle librerie come quelle che mi hai segnalato e la funzione equalizza-Istogramma, come dici tu, credo possa aiutarmi nel mio problema.

    Nel caso conosciate altri metodi (o altre librerie) vi sarei grato in altri eventuali suggerimenti.

    Grazie ancora,

    Maurizio

  9. #9

    Problemi installazione/uso libreria FreeImage C++

    Cari amici,

    così come suggeritomi da MItaly, per regolare la luminosità di una foto in c++, ho scaricato la libreria eseguibile (non i sorgenti) FreeImage.

    Non riesco però, principalmente per la mia inesperienza, ad eseguire una qualsiasi delle funzioni di FreeImage in un programmino di prova ed ho dubbi sul fatto di non aver, tral'altro, "registrato" la DLL scaricata che ho invece solo copiato in C:\Windows\system32

    Dopo vari messaggi di errore in compilazione ho capito che dovevo, oltre a referenziare la libreria FreeImage.h, referenziare anche quella per il link FreeImage.Lib

    La compilazione va a buon fine ma in esecuzione il programma non carica la foto (prima funzione che volevo provare) ed ho il dubbio che non venga proprio richiamata la funzione! Non mostra infatti mai: "Caricata correttamente" ma, sempre: "Fine Programma".

    Il programmino d'esempio è il seguente:
    -----------------------------------------------------------------------------------
    - #include "freeimage.h"
    - #include <iostream>
    -
    - int main ()
    - {
    - FIBITMAP *bitmap = FreeImage_Load(FIF_BMP, "c:\sorgenti c++\miafoto.bmp",
    - BMP_DEFAULT);
    -
    - if (bitmap)
    - { // bitmap successfully loaded!
    - FreeImage_Unload(bitmap);
    - std::cout << "Caricata correttamente!";
    - }
    - else
    - {
    - std::cout << "Fine Programma";
    - }
    -
    - return(0);
    - }
    ---------------------------------------------------------------------------------------

    Non riesco ad immaginare se i problemi di esecuzione possano essere dovuti alla libreria eseguibile FreeImage erroneamente installata oppure errore/mancanza di dichiarazioni-codice nel mio programmino di prova;

    Vi ringrazio molto per un aiuto che vorrete darmi.

    Maurizio.

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.