Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema também ao exibir a imagem plt.show()

Ao digitar os códigos:

import cv2
import matplotlib.pyplot as plt
import seaborn as sns

imagem = cv2.imread("C:/Users/Felipe/Desktop/Programação/Visão Computacional/px-girl.jpg")
plt.imshow(imagem)

aparece o erro abaixo.

TypeError: Image data of dtype object cannot be converted to float

Vi em outro post que pode ser erro de digitação, mas eu na minha limitação não vi erro nesse caso. O que pode ser?

Obrigado

2 respostas
solução!

Olá, Thiago! Tudo bom? Espero que sim!

A função não conseguiu identificar que o path aponta para um arquivo, e está considerando apenas como uma string comum. Por esse motivo o erro aponta que um conteúdo de imagem esperado (Image data) de tipo object (string) não pode ser convertido ao tipo padrão, que é um array de floats.

Para passar o caminho corretamente, a correção que precisa ser feita é no padrão de escrita path completo do arquivo da imagem que você passou na função cv2.imread().

import cv2
import matplotlib.pyplot as plt
import seaborn as sns

imagem = cv2.imread("C:\\Users\\Felipe\\Desktop\\Programação\\Visão Computacional\\px-girl.jpg")
plt.imshow(imagem)

Ou então você também pode utilizar uma raw-string para ignorar possíveis confusões com metacaracteres:

import cv2
import matplotlib.pyplot as plt
import seaborn as sns

imagem = cv2.imread(r"C:\Users\Felipe\Desktop\Programação\Visão Computacional\px-girl.jpg")
plt.imshow(imagem)

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

muito obrigado