Voglio applicare una Trasformata Coseno Discreta (e l'inverso) a un'immagine in Python e mi chiedo quale sia il modo migliore per farlo e come. Ho guardato PIL e OpenCV ma ancora non capisco come usarlo.Come applicare un DCT a un'immagine in Python?
risposta
Da OpenCV:
DCT(src, dst, flags) → None Performs a forward or inverse Discrete Cosine transform of a 1D or 2D floating-point array. Parameters: src (CvArr) – Source array, real 1D or 2D array dst (CvArr) – Destination array of the same size and same type as the source flags (int) – Transformation flags, a combination of the following values CV_DXT_FORWARD do a forward 1D or 2D transform. CV_DXT_INVERSE do an inverse 1D or 2D transform. CV_DXT_ROWS do a forward or inverse transform of every individual row of the input matrix. This flag allows user to transform multiple vectors simultaneously and can be used to decrease the overhead (which is sometimes several times larger than the processing itself), to do 3D and higher-dimensional transforms and so forth.
Here is an example of it being used.
Il DCT è disponibile anche in scipy.fftpack.
Potresti fornire un programma di base per visualizzarne l'utilizzo? Python sembra lamentarsi del fatto che il mio array di destinazione sia vuoto. – jmnwong
hai rimodellato la matrice di destinazione con le dimensioni corrette? – agf
Essenzialmente quello che ho fatto è usare PIL per ridimensionare un'immagine di input e quindi usare cv.CreateImageHeader per creare l'origine e una matrice di destinazione vuota. Non sono sicuro se questo è corretto. – jmnwong
- 1. Usa lo Scipy DCT-II di Python per fare DCT 2D o ND
- 2. Come applicare una costante a Python
- 3. Utilizzo della funzione SciPy DCT per creare un DCT-II 2D
- 4. Applicare la funzione a un dataframe MultiIndex con panda/python
- 5. Come applicare la sfocatura a un UIView?
- 6. Come applicare un OR logico a un array in Excel
- 7. Python: applicare la funzione a valori in dizionario nidificato
- 8. Come applicare due stili diversi a un elemento in Android?
- 9. In clojure, come applicare "e" a un elenco?
- 10. Come applicare il plugin a un solo aroma in gradle?
- 11. In clojure, come applicare una macro a un elenco?
- 12. Come posso applicare un nome a un ambiente?
- 13. Come applicare un valore a un elenco di funzioni
- 14. Trasformata coseno discreta (DCT) di un'immagine
- 15. Applicare una classe a un tag br?
- 16. Applicare stili specifici a linee in un MultiGeometry in KML
- 17. Come applicare un filtro globale in playframework
- 18. Applicare git .gitignore a un repository esistente
- 19. Problemi con l'algoritmo DCT e IDCT in java
- 20. Applicare l'URL relativo a un URL assoluto
- 21. Come applicare il raggio d'angolo a LinearLayout
- 22. Applicare condizionalmente a! ad un metodo in JavaScript
- 23. Come posso applicare uno stile vcl a un TPopupmenu?
- 24. Come posso applicare più stili XAML a un elemento?
- 25. Come applicare una funzione polimorfica a un valore dinamico
- 26. Bower: come applicare una patch a un pacchetto o applicare le sostituzioni?
- 27. Come applicare Cython a Pandas DataFrame
- 28. Come applicare il tipo a un'istanza NSFetchRequest?
- 29. Come applicare un tema a una barra degli strumenti Android?
- 30. Come applicare una patch a un progetto Java?
Non sono esattamente sicuro di PIL e OpenCV, ma l'applicazione di DCT e DCT inversa sta praticamente moltiplicando il blocco sorgente per le relative matrici di trasformazione. – agibalov