解決MacOS Catalina PyCharm無法獲取攝像頭權限的問題

3月1日更新…
下載最新的pycharm 2020.3版本在調用攝像頭時會詢問攝像頭權限啦

2019.3月份之前的版本還是要用下面的方法
當使用Pycharm和OpenCV調用攝像頭時報錯

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

可以看出是一箇中斷了代碼的運行,考慮了一陣子覺得是攝像頭的權限問題,這應該是MacOS Catalina新的安全協議導致的,md三個多月了PyCharm還沒有從軟件上解決這個問題,在調用期間Pycharm也沒有發出訪問攝像頭的對話框
在這裏插入圖片描述

一開始以爲是info.plist裏沒有攝像頭權限,但是看了是有的,看了外國一篇相關問題的論壇:https://youtrack.jetbrains.com/issue/IDEA-219288又瞭解決思路
我的思路是通過終端運行Pycharm,因爲Terminal是Apple授權的,我就採用了Iterm2
首先用iterm跑一個攝像頭顯示的代碼

import cv2

cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('c'):
        cv2.imwrite("a.jpg",frame)
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

在這裏插入圖片描述

可以看到Iterm2要攝像頭權限了,確認即可
之後打開Pycharm的包,找到這個文件

cd /Applications/PyCharm.app/Contents/MacOS/pycharm

把它拖到Iterm2內並運行在這裏插入圖片描述

這時候運行你PyCharm裏需要調用攝像頭的程序,發現就不會報錯了

在這裏插入圖片描述

OK了,希望PyCharm早日解決這個鬼問題吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章