OpenCV NONTYPE-object heeft geen attribuutvorm

Hallo werk ik aan frambozen pi met OpenCV. Ik wil een tutorial proberen die een bal tracking in link is
http://www.pyimagesarch.com/2015/09/ 14 / BALL-TRACKING-MET-OPENCV /

Maar wanneer ik het compileer, krijg ik een foutmelding: ‘Nonetype’ heeft geen attribuut ‘vorm’.

Wat moet ik doen?


1, Autoriteit 100%

Het betekent dat ergens een functie die een afbeelding moet retourneren, net niemand heeft geretourneerd en daarom geen vormelijk kenmerk heeft. Proberen
“Print IMG”
Controleer of uw afbeelding geen of een daadwerkelijk numpy-object is.


2, Autoriteit 36%

Ik heb vandaag hetzelfde probleem geconfronteerd, controleer dan op het pad van het beeld zoals vermeld door CybsecCrypt. Na imread, probeer de afbeelding af te drukken en te zien. Als u een waarde krijgt, betekent dit dat het bestand open is.

Code:

img_src = cv2.imread('/home/deepak/python-workout/box2.jpg',0)
print img_src

Ik hoop dat dit helpt!


3, Autoriteit 23%

U krijgt waarschijnlijk de foutmelding omdat uw videotpad op een bepaalde manier verkeerd is. Zorg ervoor dat uw pad volledig correct is.


Antwoord 4, autoriteit 9%

Ik hoop dat dit iedereen helpt die met hetzelfde probleem te maken heeft

Om precies te weten waar het is gebeurd, aangezien het lopende programma dit niet vermeldt als een fout met regelnummer

'NoneType' object has no attribute 'shape'

Zorg ervoor dat u asserttoevoegt na het laden van de image/frame

Voor afbeelding

image = cv2.imread('myimage.png')
assert not isinstance(image,type(None)), 'image not found'

Voor video

cap = cv2.VideoCapture(0)
    while(cap.isOpened()):
        # Capture frame-by-frame
        ret, frame = cap.read()
        if ret:
            assert not isinstance(frame,type(None)), 'frame not found'

Heeft me geholpen een soortgelijk probleem op te lossen, in een lang script


Antwoord 5

probeer de fout af te handelen, het is een attribuutfout gegeven door OpenCV

try:
    img.shape
    print("checked for shape".format(img.shape))
except AttributeError:
    print("shape not found")
    #code to move to next frame

Antwoord 6

Dit komt omdat het pad van de afbeelding verkeerd is of de naam van de afbeelding die u schrijft onjuist is.

hoe controleren?
probeer eerst de afbeelding af te drukken met
afdrukken (afb)
als er ‘Geen’ wordt afgedrukt, betekent dit dat u een verkeerd pad voor de afbeelding hebt opgegeven, corrigeert u dat pad en probeert u het opnieuw.


Antwoord 7

Ik heb net hetzelfde probleem. Ik los het op door de nieuwste versie van OpenCV bij te werken. Bij mij werkt het goed. Ik hoop dat het met jou ook goed gaat.


Antwoord 8

Ik werk met kunstmatig gemaakte afbeeldingen, d.w.z. Ik maak ze zelf en train er vervolgens een neuraal netwerk op om een bepaalde taak uit te voeren.
Dus ik heb deze afbeeldingen gemaakt, ze opgeslagen, maar toen ik ze probeerde te openen (met cv2.imread(…)), kreeg ik deze foutmelding. Het bleek dat wanneer kunstmatig opslaangemaaktafbeeldingen die u moet toevoegen dtype=np.uint8. Dat loste het probleem voor mij op!


Antwoord 9

Ik heb ook hetzelfde probleem “OpenCV NoneType-object heeft geen attribuutvorm” en ik los dit op door de afbeeldingslocatie te wijzigen. Ik gebruik ook de PyCharm IDE. Momenteel staan mijn afbeeldingslocatie en klasbestand in dezelfde map.


Antwoord 10

Ik had hetzelfde probleem. Ik had een ander programma geopend dat de camera van mijn laptop gebruikte. Dus ik sloot dat programma af en toen werkte alles. Ik vond dit antwoord door https://howto.streamlabs.com/streamlabs-obs-9/black-screen-when-using-video-capture-device-elgato-hd-60s-9508.


Antwoord 11

Ik had dit probleem met cap = cv2.VideoCapture(0). Ik veranderde dit in cap = cv2.VideoCapture(1)en toen werkte het. Omdat het niet aan de juiste webcam was gekoppeld, gaf het niets terug. Misschien brengt dit geluk.


Antwoord 12

Ik kreeg deze foutmelding toen ik de grootte van een foto probeerde te vinden.

Exception has occurred: AttributeError 'NoneType' object has no attribute 'shape'

Na ongeveer 10 minuten googlen kwam ik deze link tegen OpenCV: Oplossen van NoneType-fouten door Adrian Rosebrock. In dat artikel noemde hij

Een ongeldig afbeeldingspad doorgegeven aan cv2.imread

Hoewel dit mijn probleem heeft opgelost, hoop ik dat het het uwe oplost. Zo niet, dan hoop ik dat je ook iets nuttigs op die pagina kunt vinden

Other episodes