Проблемы opencv с MAC M1 - OpenCV imshow не работает

Я купил Mac M1. Есть ли у кого-нибудь проблемы с imshow с opencv. Я сделал pip install opencv-python и brew install opencv, а также brew install opencv.

      import cv2
import urllib
import numpy as np
import requests
url = 'https://www.visitcalifornia.com/sites/visitcalifornia.com/files/styles/welcome_image/public/vc_crtr_borntobewild_module_mendocino_st_rf_623667652_1280x640.jpg'
from skimage import io
img = io.imread(url)
img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
cv2.imshow('URL Image', img)
cv2.waitKey()

а также

      
import cv2

cv2.namedWindow("preview")
vc = cv2.VideoCapture(0)

if vc.isOpened(): # try to get the first frame
    rval, frame = vc.read()
else:
    rval = False

while rval:
    cv2.imshow("preview", frame)
    rval, frame = vc.read()
    key = cv2.waitKey(20)
    if key == 27: # exit on ESC
        break

cv2.destroyWindow("preview")
vc.release()

у меня не работает

6 ответов

Это было решено

       pip install opencv-python opencv-python-headless

Попробуйте установить Miniconda с https://docs.conda.io/en/latest/miniconda.html, затем активируйте его и попробуйте установить cv2 pip install opencv-python получаю 80-90 FPS просто за чтение изображения и показ с моей стороны, все работают в M1, используя Miniconda

Я смог решить эту проблему, построив исходный код OpenCV 4.5, используйте эту ссылку, чтобы получить исходный код.

Открытие терминала в rosetta и установка pip (внутри виртуальной среды) помогли мне создать opencv. До этого, когда я делал это с терминалом M1, он выдавал ошибки, указывающие на некоторые проблемы с архитектурой. Думаю, это помогло мне. Создать виртуальную среду -> Активировать -> (Rosetta Terminal) -> pip3 установить opencv-python

Установите OpenCV с помощью pip. Обычно это дает ошибку ffmpeg, поэтому сначала установите его

Сначала сделайте:

      pip3 install ffmpeg

а потом

      pip3 install opencv-python

Я думал, что у меня такая же проблема. Окно не выскакивало при использовании cv2.imshow() или cv2.namedWindow(). Через несколько часов я понял, что это окно находится в строке меню Mac, мне просто нужно было щелкнуть по нему.

Другие вопросы по тегам