簡體   English   中英

如何顯示圖像並且我的代碼一直在后台運行?

[英]How can I display an image and my code keeps running in the background?

我參與了一個我們正在制作數獨求解器的項目。 當我們的繪圖桌在紙格上繪制解決方案時,我想在屏幕上打印已解決的數獨網格的圖像。 但是我找不到顯示圖像的方法,我的代碼一直在運行。

我已經研究過 - 我認為 - 所有用於顯示圖像的 opencv 和 matplotlib.pyplot 函數,但是每次代碼在顯示圖像時停止並在圖像關閉后繼續(plt.show() 或使用 cv2.waitKey( ))。

因此,如果有人想知道在 python 代碼繼續運行時顯示圖像的方法,我會很高興聽到它。

謝謝

PIL / Pillow Image.show()方法將使您的圖像顯示在屏幕上,您的代碼將繼續運行。

如果在Numpy / OpenCV陣列中有黑白圖像,則可以將其設置為PIL圖像並顯示如下:

from PIL import Image

Image.fromarray(NumpyImg).show()

如果您的圖像是彩色的,您需要使用cv2.cvtColor(...BGR2RGB..)或通過將第3個通道轉換為(未經測試)來從BGR轉換為RGB:

Image.fromarray(NumpyImg[:,:,::-1]).show()

你可以使用python 多線程來解決這個問題。 一種方法是使用兩個線程。 通過具有單獨的線程,每個動作將是獨立的,因為您可以解決拼圖並同時將其顯示在屏幕上。

線程#1 - 顯示圖像

線程#2 - 在紙質網格上繪制解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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