Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Conversione da colori a scala di grigi con OpenCV in Python

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] Conversione da colori a scala di grigi con OpenCV in Python

Messaggioda Foto Utentealien75 » 23 mar 2025, 12:53

Ho un problema a convertire da colori a scala di grigi con opencv
codice:
Codice: Seleziona tutto
import cv2
import cv2 as cv
import sys


img = cv.imread(cv.samples.findFile("day_open.jpg"))

if img is None:
    sys.exit("Could not read the image.")
cv.cvtColor(img, img, cv.COLOR_BGR2GRAY)
cv.imshow("Display window", img)



messaggio di errore:
Codice: Seleziona tutto
Traceback (most recent call last):
  File "/home/fabio/Scrivania/backpropagation.py", line 74, in <module>
    cv.cvtColor(img, img, cv.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.11.0) :-1: error: (-5:Bad argument) in function 'cvtColor'
> Overload resolution failed:
>  - Argument 'code' is required to be an integer
>  - Argument 'code' is required to be an integer


Aiutatemi per favore.
Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 588
Iscritto il: 31 lug 2011, 14:08

0
voti

[2] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto Utentealev » 23 mar 2025, 13:31

Avatar utente
Foto Utentealev
5.993 2 9 12
free expert
 
Messaggi: 6281
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

0
voti

[3] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto UtenteGioArca67 » 23 mar 2025, 15:33

Prova a togliere un img fra gli argomenti di cvtColor ed assegna il risultato ad una variabile:
Codice: Seleziona tutto
imgbw=cv.cvtColor(img, cv.COLOR_BGR2GRAY)
Avatar utente
Foto UtenteGioArca67
4.565 4 6 9
Master EY
Master EY
 
Messaggi: 4588
Iscritto il: 12 mar 2021, 9:36

0
voti

[4] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto Utentealien75 » 23 mar 2025, 17:17

GioArca67 ha scritto:Prova a togliere un img fra gli argomenti di cvtColor ed assegna il risultato ad una variabile:
Codice: Seleziona tutto
imgbw=cv.cvtColor(img, cv.COLOR_BGR2GRAY)

Fatto:
Codice: Seleziona tutto
img1 = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow("Display window", img1)


ma non si vede l ' immagine nella finestrella.
E' tutta nera.

Ora ho questo codice:
Codice: Seleziona tutto
img = cv.imread(cv.samples.findFile("day_open.jpg"))

if img is None:
    sys.exit("Could not read the image.")
img1 = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow("Display window", img1)

Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 588
Iscritto il: 31 lug 2011, 14:08

0
voti

[5] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto UtenteGioArca67 » 23 mar 2025, 17:57

aggiungi alla fine

Codice: Seleziona tutto
cv.waitKey(1)
Avatar utente
Foto UtenteGioArca67
4.565 4 6 9
Master EY
Master EY
 
Messaggi: 4588
Iscritto il: 12 mar 2021, 9:36

0
voti

[6] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto UtenteGioArca67 » 23 mar 2025, 18:03

es. su Linux Mint 21.2
Allegati
Screenshot 2025-03-23 170058.png
Avatar utente
Foto UtenteGioArca67
4.565 4 6 9
Master EY
Master EY
 
Messaggi: 4588
Iscritto il: 12 mar 2021, 9:36

0
voti

[7] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto UtenteGioArca67 » 23 mar 2025, 18:07

Per chiudere le finestre aperte
Codice: Seleziona tutto
cv.destroyAllWindows()


se ne vuoi chiudere una specifica
Codice: Seleziona tutto
cv.destroyWindow('Window Name')
Avatar utente
Foto UtenteGioArca67
4.565 4 6 9
Master EY
Master EY
 
Messaggi: 4588
Iscritto il: 12 mar 2021, 9:36

0
voti

[8] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto Utentealien75 » 24 mar 2025, 0:09

Ho inserito l'ultima riga come mi hai detto te:
Codice: Seleziona tutto
img = cv.imread(cv.samples.findFile("day_open.jpg"))

if img is None:
    sys.exit("Could not read the image.")
img1 = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
#height, width = img.shape[:2]
#res = cv.resize(img,(2*width, 2*height), interpolation = cv.INTER_CUBIC)
cv.imshow("Display window", img1)
cv.waitKey(1)
#cv.destroyAllWindows()
while 1:
    x=0


Mi esce una finestra nera non l'immagine in scala di grigi, perché?
Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 588
Iscritto il: 31 lug 2011, 14:08

0
voti

[9] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto UtenteGioArca67 » 24 mar 2025, 14:38

Se subito dopo averla caricata fai mostrare l'immagine originale che succede?
Che SO usi?
Che versione di Python?
IDE o riga di comando?
Il programma è esattamente come l'hai scritto? A capi e spazi sono significativi...
Avatar utente
Foto UtenteGioArca67
4.565 4 6 9
Master EY
Master EY
 
Messaggi: 4588
Iscritto il: 12 mar 2021, 9:36

0
voti

[10] Re: Conversione da colori a scala di grigi con opencv in pyt

Messaggioda Foto Utentealien75 » 24 mar 2025, 18:27

GioArca67 ha scritto:Se subito dopo averla caricata fai mostrare l'immagine originale che succede?
Che SO usi?
Che versione di Python?
IDE o riga di comando?
Il programma è esattamente come l'hai scritto? A capi e spazi sono significativi...


- Se applico show() a l'immagine acquisita ottengo sempre una foto con sfondo nero, tutta nera.
- Uso mint 21
- Uso un editor testuale per python non IDE apposito.
- Versione python 3.10.12
- Si è esattamente come l'ho scritto.

Chiedo una cosa: se aggiorno alla versione di mint 21.3 mi "pialla" tutti i miei file ed impostazioni, oppure quelle rimangono? Fatemi sapere.
Le applicazioni installate rimangono?
Avatar utente
Foto Utentealien75
1 1 4 8
Sostenitore
Sostenitore
 
Messaggi: 588
Iscritto il: 31 lug 2011, 14:08

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti