因為之前在學習OpenCV,當然了網路上有許多的資料,基本上都是在學習前人的造好的輪子。但是我這個人比較喜歡刨根問底,一直在寫程式碼的過程中有的時候忘記寫destroyallWindos這個函數,程式碼也可以正常執行,但是我看一些參考程式碼裡面都最後帶有destoryallWindos這個語句,有有些想法,於是找了一些資料。所以特地寫一片文章,來記錄一下,希望以後忘記了可以看看
import cv2
# 這裡0.jpg是同目錄下的一張圖片
img = cv2.imread("0.jpg")
cv2.imshow("CHJ", img)
cv2.waitKey(0)
這樣的程式碼是可以執行的,並且會一直等待鍵盤輸入,但是就是沒有destroyallWindows
stackoverflow上的回答
大家可以看一看
這個是官方連結:官方檔案
英文:
You can call destroyWindow() or destroyAllWindows() to close the window and de-allocate any associated memory usage. For a simple program, you do not really have to call these functions because all the resources and windows of the application are closed automatically by the operating system upon exit.
百度翻譯一下:
您可以呼叫destroyWindow()或destroyAllWindows()來關閉視窗並取消分配任何相關的記憶體使用。對於一個簡單的程式,實際上不必呼叫這些函數,因為退出時作業系統會自動關閉應用程式的所有資源和視窗
如果之前沒有釋放掉記憶體的操作的話destroyallWIndows會釋放掉被那個變數佔用的記憶體