Pil image to numpy matrise

Pil image to numpy matrise

Pil er et Python -bibliotek akkurat som Numpy. Numpy brukes til å håndtere matriser og lister med flere matematiske innebygde funksjoner som vi kan bruke ved å importere Numpy-biblioteket og ringe metoden vi vil bruke. PIL brukes til å takle bilder. PIL betyr Python Imaging Library. PIL kan åpne, endre og lagre forskjellige bildeformater. PIL er et bildebehandlingsverktøy. Her oppstår spørsmålet hvorfor vi følte behovet for PIL. Den enkleste og mest forståelige formen for data er bildet som formidler betydningen som ingen annen dataform kan presentere. I maskinlæring (ML) bruker vi bildedata i høyde, bredde og kanalformat når vi arbeider med et stort datasett. For å få høyde, vekt og kanalformat, kan bildet endres til et numpy matrise. Numpy Array inneholder verdier, alle verdiene har samme datatype og inneholder null, og positive heltall kalt ikke-negative heltall.

Krav

For å konvertere PIL -bildet til et numpy matrise, må vi ha numpy installert i systemet vårt. I høyere Python -versjoner er den allerede installert. I tidligere versjoner må vi imidlertid installere den manuelt ved å bruke følgende kommando:

Pip installer numpy


“Pute”, eller “Pil”, er den ekstra komponenten som må installeres i systemene våre. Følgende uttalelse kan brukes til å installere den.

Pip installer pute


eller

Pip install Pil


Pute er bare en oppgradering av PIL med innebygde funksjoner som vi kan bruke i koden vår ved å ringe forskjellige metoder.

Syntaks

AsArray (funksjonsnavn.åpen())


For å bruke denne funksjonen, må vi importere to pakker, det ene "numpy" biblioteket og det andre "pil".

Parametere

funksjonsnavn: Parameteren “Funksjonsnavn” vil være PIL.

Åpen () Funksjon: Dette vil åpne bildet. Innenfor parentesen, gi banen til bildet i enkelt- eller doble sitater.

AsArray () -funksjon: Det vil konvertere bildet til matrisen.

Vi kan også konvertere bildet til en matrise ved hjelp av NP.Array () -metode. For det må vi importere numpy annerledes, jeg.e.,

Importer numpy som NP.

Bilde

Vi vil bruke dette bildet til å konvertere det til en matrise med forskjellige metoder.

Konvertere PIL -bildet til en matrise ved å bruke Asarray () -metoden

Vi kan bruke forskjellige teknikker for å konvertere et PIL -bilde til en matrise. Her bruker vi Asarray () -metoden for dette formålet, og denne er veldig enkel.


For å endre PIL -bildet til en matrise, importer først modulene. Her er det nødvendig med to biblioteker. Den ene er å importere Asarray () -metoden fra Numpy, og den andre er å importere bildet fra PIL. For å åpne det nødvendige bildet, bruk Open () -funksjonen. Innenfor denne metoden, skriv plasseringen av bildet eller navnet hvis bildet er i samme mappe der vi lagret Python -koden. Skriv deretter bildetavnet med en utvidelse. Hvis bildet er lagret et annet sted, må du gi den komplette adressen til bildet. Og lagre verdien av den åpne () metoden i "image" -variabelen. Nå, ring Asarray () -funksjonen for å konvertere bildet til matrisen. Innenfor denne funksjonen, plasser variabelnavnet der vi laster inn bildet som vi ønsker å bli konvertert. Her lastet vi inn "Image" -variabelen. Beholder deretter verdien i en ny variabel, “ARR”. For å skrive ut matrisen sammen med en melding, vil vi påkalle metoden Print ().


Her er utdataene fra koden. Først vil den åpne () metoden for PIL laste inn bildet, og deretter konverterer Asarray () -metoden det aktuelle bildet til en matrise. Print () viser matrisen på skjermen med en melding.

Endre bildet til Numpy Array ved hjelp av NP.Array () -funksjon

La oss forvandle PIL -bildet til en matrise ved å ringe en NP.Array () -funksjon.


For å konvertere bildet til et numpy matrise, må vi importere pakkene med Numpy og PIL. Importer Numpy -modulen som NP. Vi vil bruke “NP” som funksjonsnavn. Fra PIL -modulen vil vi importere et bilde for å åpne det spesifikke bildet i PIL. I neste uttalelse, .Åpen () -funksjon kalles. Innenfor den åpne () -funksjonen, spesifiser navnet på bildet som vi ønsker å konvertere til en matrise med en utvidelse eller gi en komplett bane hvis bildet ikke er i samme mappe der Python -kodefilen er lagret. Lagre det lastede bildet i en variabel. Bruk NP.Array () -funksjon for å konvertere PIL -bildet til en matrise. Skriv variabelnavnet der vi lagret det lastede bildet inne i array () -funksjonen. Vi vil bruke en utskriftsuttalelse for å representere den resulterende matrisen på utgangsskjermen.


Her er den konverterte matrisen. Resultatet fra første og andre eksempel er det samme fordi vi brukte det samme bildet for å konvertere det til matrisen. Men konverteringen kan gjøres ved to forskjellige tilnærminger.

Bruk array () -funksjonen for å endre et bilde til en numpy matrise og sjekke formen på matrisen

Denne koden vil endre PIL -bildet til en matrise og deretter vise de konverterte Arrays 'høyde, bredde og dimensjoner.


Importere de nødvendige modulene numpy og image er hovedtrinnet. Åpne bildet vi ønsker å konvertere til en matrise ved hjelp av Open () -metoden. Denne funksjonen inneholder adressen til bildet som argument. Neste, lagre det lastede bildet i en variabel “IMG”. Ring NP.Array () -funksjon for å konvertere bildet til matrisen. Gi det lastede bildet til NP.Array () -metode som parameter. Til slutt brukes formmetoden for å skaffe seg den konverterte Array's høyde, bredde og dimensjon. Vis meldingen og matrisens høyde, bredde og dimensjon ved å erklære utskriftserklæringen.


Utfallet illustrerer formen på bildet ved å bruke en matrise.

Konklusjon

I artikkelen har vi snakket om å konvertere PIL -bildet til en numpy matrise, som er en kopp kake hvis vi installerer numpy og PIL eller Pillow -modulen i systemmiljøet riktig. Installasjonsprosedyren vil kreve litt tid fordi vi må installere PIL selv. Vi har dekket forskjellige tilnærminger for å endre bildet til en numpy matrise. Den ene teknikken innebærer bruk av Asarray () -metoden, og den andre består av bruken av NP.Array () -funksjon. Bare ett bilde ble endret for å demonstrere at alle prosedyrers utfall vil være det samme. Vi får også formen på et bilde, men for det må vi konvertere bildet til et numpy matrise og deretter bruke .formmetode for å finne bildens form.