我嘗試啟動我的代碼,但程序使用方法 cv2.namedWindow 完成(沒有任何錯誤)。你有什么建議,為什么會這樣?
import cv2
image_cv2 = cv2.imread('/home/spartak/PycharmProjects/python_base/lesson_016/python_snippets/external_data/girl.jpg')
def viewImage(image, name_of_window):
print('step_1')
cv2.namedWindow(name_of_window, cv2.WINDOW_NORMAL)
print('step_2')
cv2.imshow(name_of_window, image)
print('step_3')
cv2.waitKey(0)
print('step_4')
cv2.destroyAllWindows()
cropped = image_cv2
viewImage(cropped, 'Cropped version')
PS:我也洗掉了 UBUNTU ,并安裝了 Fedora。取而代之的是 Pycharm,在 VS 代碼上檢查程式。但什么都沒有改變。我將圖片(girl.jpg)的位置更改為帶有python檔案的目錄。但是程式在 step1 上停止并等待一些東西。

uj5u.com熱心網友回復:
我找出問題所在。我在虛擬環境中啟動了這段代碼。顯然,在 UBUNTU/FEDORA 上的虛擬環境中,opencv 有限制。

uj5u.com熱心網友回復:
該代碼為我完成了所有 4 個步驟
我認為您拍攝的影像路徑有問題

函式 cv2.namedWindow 創建一個視窗,可用作影像和軌跡欄的占位符。創建的視窗按名稱參考 如果同名視窗已存在,則該函式不執行任何操作。
uj5u.com熱心網友回復:
我確實認為函式 cv2.destroyAllWindows 這個函式正在釋放一些需要的 gui 元素,我猜。所以多次呼叫這個會產生一些麻煩。
import cv2
image_cv2 = cv2.imread('foo.jpg')
def viewImage(image, name_of_window):
print('step_1')
cv2.namedWindow(name_of_window)
print('step_2')
cv2.imshow(name_of_window, image)
print('step_3')
cv2.waitKey(0)
#print('step_4')
#cv2.destroyAllWindows()
cropped = image_cv2
viewImage(cropped, 'Cropped version')
#e.g. better usage at the end of the code or section
cv2.destroyAllWindows()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/355878.html
標籤:Python opencv 乌本图 pycharm 简历2
上一篇:cv2.blur()錯誤的論點?
