Web kamerasından canlı yayın çekmek ve yüzleri tespit ettikten sonra OpenCV kullanıyorum. Onları yeniden boyutlandırıyorum, böylece sadece yüzüm görüntülenir.Web kamerası özet akışını görüntüleme cv :: Bir resimdeki mat format
Ama sorun C++ Windows tüm yapıyorum ki Forms ve bunu yerine OpenCV imshow()
pencerede ekrana almanın bir PictureBox
görüntülenmesini istiyorum.
cv::Mat
kullanıyorum, bu yüzden resim kutusunda çok büyük sorun yaşıyorum.
IplImage
numaralı klasöre dönüştürmeyi denedim ancak bu da çalışmadı. Ayrıca, Google'ı denedim ancak çalışma çözümü alamadım. 3 gün boyunca bunu deniyorum.
void DrawCVImage(System::Windows::Forms::Control^ control, cv::Mat& colorImage)
{
System::Drawing::Graphics^ graphics = control->CreateGraphics();
System::IntPtr ptr(colorImage.ptr());
System::Drawing::Bitmap^ b = gcnew System::Drawing::Bitmap(colorImage.cols,colorImage.rows,colorImage.step,System::Drawing::Imaging::PixelFormat::Format24bppRgb,ptr);
System::Drawing::RectangleF rect(0,0,control->Width,control->Height);
graphics->DrawImage(b,rect);
delete graphics;
}
:
face = getFace(frame);
cv::imshow("window",face);
nerede frame
ve face
İşte
Bir resim tablosuna görüntülemek için, bu IplImage'ı bir bitmap'e dönüştürmeniz gerekir. – SinisterMJ
pls bunun için kod satırı sağlayabilir misiniz? –
Sadece bir Bitmap oluşturmak için C# kodum var. Veri işaretçisi (IplImage-> dataOrigin) ve onu oluşturmak için boyut alır. Bir PictureBox gerçekten bir C# şey olduğu için, C++ 'da kullanmamıştım. C++ için OpenGL veya DirectX ekranını tavsiye etmekteyim, çünkü sadece çok daha hızlı. – SinisterMJ