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.