Saya menggunakan opencv 2.4.2, python 2.7 Kode sederhana berikut membuat jendela dengan nama yang benar, tetapi isinya hanya kosong dan tidak menampilkan gambar:
import cv2
img=cv2.imread('C:/Python27/03323_HD.jpg')
cv2.imshow('ImageWindow',img)
apakah ada yang tahu tentang masalah ini?
python
opencv
image-processing
top.eng
sumber
sumber
Jawaban:
imshow()
hanya bekerja denganwaitKey()
:(Seluruh lingkaran pesan yang diperlukan untuk memperbarui jendela tersembunyi di sana.)
sumber
print img
mencetak array numpy yang benar, bukanNoneType
objek.Saya menemukan jawaban yang berhasil untuk saya di sini: http://txt.arboreus.com/2012/07/11/highgui-opencv-window-from-ipython.html
sumber
Anda harus menggunakan
cv2.waitKey(0)
setelahcv2.imshow("window",img)
. Hanya dengan begitu itu akan berhasil.sumber
Jika Anda menjalankan di dalam konsol Python, lakukan ini:
Kemudian jika Anda menekan Entergambar, gambar akan berhasil ditutup dan Anda dapat melanjutkan menjalankan perintah lain.
sumber
Saya menghadapi masalah yang sama. Saya mencoba membaca gambar dari IDLE dan mencoba menampilkannya menggunakan
cv2.imshow()
, tetapi jendela tampilan membeku dan tayanganpythonw.exe
tidak merespons ketika mencoba menutup jendela.Posting di bawah ini memberikan penjelasan yang mungkin mengapa ini terjadi
pythonw.exe tidak merespons
" Pada dasarnya, jangan lakukan ini dari IDLE. Tulis skrip dan jalankan dari shell atau skrip langsung jika di windows, dengan menamainya dengan ekstensi .pyw dan mengklik dua kali. Tampaknya ada konflik antara acara IDLE sendiri loop dan yang dari toolkit GUI. "
Ketika saya menggunakan
imshow()
skrip dan menjalankannya daripada menjalankannya langsung di IDLE, itu berhasil.sumber
tambahkan
cv2.waitKey(0)
pada akhirnya.sumber
Bagi saya waitKey () dengan angka lebih besar dari 0 berhasil
sumber
Anda memiliki semua bagian yang diperlukan di suatu tempat di utas ini:
berfungsi dengan baik untuk saya di IDLE.
sumber
Jika Anda belum membuat ini bekerja, lebih baik Anda meletakkannya
menjadi satu file dan menjalankannya.
sumber
Tidak memerlukan metode tambahan setelah
waitKey(0)
(balas untuk kode di atas)Jendela muncul -> Klik pada Jendela & Klik Enter. Jendela akan tertutup.
sumber
Jika Anda memilih untuk menggunakan "cv2.waitKey (0)", pastikan Anda telah menulis "cv2.waitKey (0)" daripada "cv2.waitkey (0)", karena huruf kecil "k" itu mungkin akan membekukan program Anda juga .
sumber
Saya juga mengalami kesalahan -215. Saya pikir imshow adalah masalahnya, tetapi ketika saya mengubah imread menjadi membaca di file yang tidak ada, saya tidak mendapat kesalahan di sana. Jadi saya meletakkan file gambar di folder kerja dan menambahkan cv2.waitKey (0) dan itu berhasil.
sumber
Kesalahan ini terjadi karena gambar tidak ditemukan. Jadi ini bukan kesalahan fungsi imshow.
sumber
Saya memiliki kesalahan 215 yang sama, yang dapat saya atasi dengan memberikan path lengkap ke gambar, seperti di, C: \ Folder1 \ Folder2 \ filename.ext
sumber