簡體   English   中英

代碼無法結束循環,在 OpenCV 中使用 cv2.imwrite()

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM