[英]Code can not end looping, using cv2.imwrite() in OpenCV
我在 python 中運行這個基本代碼。 它沒有循環,但它無休止地運行,我有保存圖像的命令,我將它從彩色變為灰度。
所以在 cv2.waitKey(0) 代碼工作之前,我可以保存第一個圖像,在 cv2.waitKey(0) 之后它什么也不讀,因為我認為它繼續循環。
這是非常基本的代碼:
dir_path = os.path.dirname(os.path.realpath(__file__))
print(dir_path)
cwd = os.getcwd()
print(cwd)
img = cv2.imread("C:/Users/carlo/PycharmProjects/OpenCV_AnaConda/opencv/samples/data/lena.jpg",0)
print(img)
cv2.imwrite('C:/Users/carlo/PycharmProjects/OpenCV_lavendetta/lena_1.jpg', img)
print("it runs the code until here")
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('C:/Users/carlo/PycharmProjects/OpenCV_lavendetta/lena_2.jpg', img)
print("the code ends")
我該如何解決這個問題? 謝謝你
您提到了循環,但您的代碼中沒有循環。 cv2.waitKey(0)
將無限等待用戶輸入。 從文檔:
函數 waitKey 無限等待按鍵事件(當 delay <= 0 時)或延遲毫秒,當它為正時。
waitKey(0)
正在等待一個鍵被按下,所以你按下一個鍵,程序應該繼續。 如果您希望它只等待有限的時間,請輸入您希望它出現的毫秒數。
例如:讓它只出現 3 秒然后繼續執行程序執行cv2.waitkey(3000)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.