Pagina 1 di 2

Conversione da colori a scala di grigi con OpenCV in Python

MessaggioInviato: 23 mar 2025, 12:53
da alien75
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.

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

MessaggioInviato: 23 mar 2025, 13:31
da alev

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

MessaggioInviato: 23 mar 2025, 15:33
da GioArca67
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)

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

MessaggioInviato: 23 mar 2025, 17:17
da alien75
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)


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

MessaggioInviato: 23 mar 2025, 17:57
da GioArca67
aggiungi alla fine

Codice: Seleziona tutto
cv.waitKey(1)

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

MessaggioInviato: 23 mar 2025, 18:03
da GioArca67
es. su Linux Mint 21.2

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

MessaggioInviato: 23 mar 2025, 18:07
da GioArca67
Per chiudere le finestre aperte
Codice: Seleziona tutto
cv.destroyAllWindows()


se ne vuoi chiudere una specifica
Codice: Seleziona tutto
cv.destroyWindow('Window Name')

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

MessaggioInviato: 24 mar 2025, 0:09
da alien75
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é?

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

MessaggioInviato: 24 mar 2025, 14:38
da GioArca67
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...

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

MessaggioInviato: 24 mar 2025, 18:27
da alien75
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?