Il ridimensionamento delle immagini si riferisce al ridimensionamento delle immagini. Il ridimensionamento è utile in molte applicazioni di elaborazione delle immagini e di apprendimento automatico. Aiuta a ridurre il numero di pixel di un'immagine e presenta numerosi vantaggi, ad es. Può ridurre il tempo di addestramento di una rete neurale poiché maggiore è il numero di pixel in un'immagine maggiore è il numero di nodi di input che a sua volta aumenta la complessità del modello.
Aiuta anche a ingrandire le immagini. Molte volte è necessario ridimensionare l'immagine, ovvero ridurla o ingrandirla per soddisfare i requisiti di dimensione. OpenCV ci fornisce diversi metodi di interpolazione per ridimensionare un'immagine.
Scelta del metodo di interpolazione per il ridimensionamento:
- cv2.INTER_AREA: viene utilizzato quando dobbiamo ridurre un'immagine.
- cv2.INTER_CUBIC: è lento ma più efficiente.
- cv2.INTER_LINEAR: viene utilizzato principalmente quando è richiesto lo zoom. Questa è la tecnica di interpolazione predefinita in OpenCV.
Sintassi: cv2.resize(sorgente, dsize, dest, fx, fy, interpolazione)
L'attrice Rubina Dilaik
parametri:
- source: array di immagini di input (canale singolo, 8 bit o virgola mobile) dsize: dimensione dell'array di output dest: array di output (simile alle dimensioni e al tipo dell'array di immagini di input) [opzionale] fx: fattore di scala lungo il asse orizzontale [facoltativo] fy: fattore di scala lungo l'asse verticale [facoltativo] interpolazione: uno dei metodi di interpolazione sopra indicati [facoltativo]
Di seguito è riportato il codice per il ridimensionamento:
Python3
import> cv2> import> numpy as np> import> matplotlib.pyplot as plt> image>=> cv2.imread(r>'D:simsebsim21EB-ML-06-10-2022-Test-Output-15PERFORATIONOverkillFailBlister 1 2022-03-12 12-59-43.859 T0 M0 G0 3 PERFORATION Mono.bmp'>,>1>)> # Loading the image> half>=> cv2.resize(image, (>0>,>0>), fx>=> 0.1>, fy>=> 0.1>)> bigger>=> cv2.resize(image, (>1050>,>1610>))> stretch_near>=> cv2.resize(image, (>780>,>540>),> >interpolation>=> cv2.INTER_LINEAR)> Titles>=>[>'Original'>,>'Half'>,>'Bigger'>,>'Interpolation Nearest'>]> images>=>[image, half, bigger, stretch_near]> count>=> 4> for> i>in> range>(count):> >plt.subplot(>2>,>2>, i>+> 1>)> >plt.title(Titles[i])> >plt.imshow(images[i])> plt.show()> |
ops in Java
>
>
Produzione:
aws sns

Nota: Una cosa da tenere a mente durante l'utilizzo della funzione cv2.resize() è che la tupla passata per determinare la dimensione della nuova immagine ((1050, 1610) in questo caso) segue l'ordine (larghezza, altezza) diversamente da quanto previsto ( altezza larghezza).