símbolo indefinido: __atomic_fetch_add_8


8

Estou tentando testar minha picamera no thonny python ide no meu raspberry pi, mas estou recebendo um erro:

Traceback (most recent call last):
  File "/home/pi/Documents/Camera_test.py", line 2, in <module>
    import cv2
  File "/usr/lib/python3/dist-packages/thonny/backend.py", line 305, in _custom_import
    module = self._original_import(*args, **kw)
  File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in <module>
    from .cv2 import *
  File "/usr/lib/python3/dist-packages/thonny/backend.py", line 305, in _custom_import
    module = self._original_import(*args, **kw)
ImportError: /home/pi/.local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8

Eu já tentei procurar soluções possíveis, mas não consegui fazer isso porque não consigo entender o que eles estavam tentando dizer algo sobre -latômico. Eu sou praticamente novo nisso.

import numpy as np
import cv2

cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height

while(True):
    ret, frame = cap.read()
    frame = cv2.flip(frame, -1) # Flip camera vertically
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame', frame)
    cv2.imshow('gray', gray)

    k = cv2.waitKey(30) & 0xff
    if k == 27: # press 'ESC' to quit
        break

cap.release()
cv2.destroyAllWindows()

1
Pelo que vale a pena, estou tendo o mesmo problema ao importar o OpenCV no meu Raspberry Pi Compute Module 3, portanto, pelo menos, não estamos sozinhos.
precisa saber é o seguinte

O problema é que funciona no terminal, mas não no thonny ide.
Jess Elardo

1
A solução alternativa para esse problema do OpenCV é definir a variável de ambiente LD_PRELOAD (essa não é a mesma variável do Python) para fazer com que a biblioteca ausente seja carregada: LD_PRELOAD = / usr / lib / arm-linux-gnueabihf / libatomic.so .1 Infelizmente, não consegui encontrar uma maneira de definir variáveis ​​de ambiente no Thonny IDE.
Rob Smallshire

Eu recomendo que você siga este problema do GitHub na versão PiWheels OpenCV. Esperamos que uma versão fixa da roda OpenCV seja lançada em breve. github.com/piwheels/packages/issues/59
Rob Smallshire (

Respostas:


4

Use o OpenCV contrib com a versão correta.

pip install opencv-contrib-python==4.1.0.25

Veja a resposta no final deste post.


Isso funcionou para mim no RPi 4. Não tive a chance de tentar a resposta de Ismael.
Robert Bain

2

Se você instalar o opencv, tente
em seu ambiente virtual

"pip install opencv-contrib-python == 3.4.3.18"


2

Eu estava enfrentando o mesmo problema também ao seguir este totorial https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and-raspbian-buster/

nos comentários é resolvido neste link e também resolve o mesmo para mim, graças a ele: - https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and -raspbian-buster / # comment-572080

e é isso que ele escreve:

#

Estou seguindo o tutorial com RP4, 1gb de memória, no Buster.

Eu estava vendo o seguinte erro após a etapa 4 (a), a compilação completa, ao verificar a instalação do cv2 no console do Python (etapa 5):

ImportError: /home/pi/.virtualenvs/cv/lib/python3.7/site-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: símbolo indefinido: __atomic_fetch_add_8

Consegui resolver o problema com as seguintes etapas:

1 - $ sudo find / -type f -name ' atom .so *' /usr/lib/arm-linux-gnueabihf/libatomic.so.1.2.0

2 - LD_PRELOAD = / usr / lib / arm-linux-gnueabihf / libatomic.so.1.2.0 python3

3 - Python 3.7.3 (padrão, 3 de abril de 2019, 05:39:12) [GCC 8.2.0] no linux Digite "help", "copyright", "credits" ou "license" para obter mais informações.

importar impressão cv2 ( versão cv2. ) 4.1.1

Espero que isso ajude alguém com o mesmo problema ...

J

#

Também para informações ur quando eu sigo outro tuotrail para o mesmo escritor que estava funcionando bem comigo sem problemas aqui está o link: -

https://www.pyimagesearch.com/2018/09/26/install-opencv-4-on-your-raspberry-pi/

Ainda tenho 15 dias de experiência em python e raspberry pi, desculpe-me por qualquer erro em relação a advane

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.