2013-01-10 16 views
6

İşte benim app basitleştirilmiş versiyonu:cv :: namedWindow, OpenCV2'ye nasıl odaklanır?

Mat img = imread("./picture.png"); 
namedWindow("Picture", CV_WINDOW_AUTOSIZE); 
imshow("Picture", img); 
waitKey(0); 

Ben pencere terminal penceresinde altında açılmış ve odakta değildir (OpenCV 2.4.3 ile MacOS 10.8.2 üzerine) derlenmiş uygulamayı çalıştırdığınızda. Yani, önce (veya sekme) üzerine tıklamanız ve sonra waitKey'un yapılması için herhangi bir tuşa basmam gerekiyor.

otomatik odak haline cv::namedWindow getirmek mümkün mü?

+1

bkz: http://stackoverflow.com/questions/8417531/opencv-how-to-force-the-image-window-to-appear-on-top-of-other-windows veya http: // stackoverflow .com/questions/5960968/opencv-window-always-on-top? lq = 1 – Smash

+0

Görüyorum. Yani, bu dayanan cevabı (OpenCV2 kullanımdan kaldırılmış gibi görünüyor, ben docs yerde bulamıyorum en azından), ya 'hayır' ya da 'kullanım cvGetWindowHandle' ve daha sonra MacOS Pencere- için ne yaptığını öğrenmek yönetim ve biraz çirkin platforma özgü kod yazın. Anlaşılan bu anlaşılabilir bir durumdur çünkü highgui sağlam bir pencere çerçevesi olarak gösterilmemiştir. –

cevap

0

Muhtemelen bütün pencereleri numaralandırmak ve kendi pencere başlığı ile kendi başlıklarını karşılaştırabilirsiniz. MacOS'ta nasıl yapacağımı bilmiyorum ama Windows altında, bu işi sizin için yapan bir API var: EnumWindows().

OpenCV 2.x hala eski C stili fonksiyonları çok desteklediği için cvGetWindowHandle() hala dahil olup olmadığını, muhtemelen kontrol edebilirsiniz.

İlgili konular