Проблемы 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, мне просто нужно было щелкнуть по нему.