mit OpenCV 2.4 laden eines Bildes in MFC SDI Anzeigen oder Steuern
In der alten version von opencv hatten wir die Klasse wie CvvImage, wurden einfach verwendet werden, für MFC-Steuerelemente, die zur Anzeige der Kamera-Bilder oder einfach Bilder aus dem OpenCV. Aber in 2.4 oder 2.3 dieser Unterstützung ist abgeschlossen, OpenCV , ich Frage mich, ob wir in irgendeiner anderen Klasse in der neuen version.
Meine Anwendung ist MFC-SDI-und innen Ansicht bin ich über Reiten die OnPaint-Funktion. In früheren opencv ich war mit Paint-Funktion wie
void CRightCameraView::OnPaint()
{
CPaintDC dc(this); //device context for painting
m_CVvimageObj.CopyOf(m_iplImageFrame); //copy IplImage frame
if(m_bImageDisplay)
{
m_CVvimageObj.Show(dc.GetSafeHdc(),10,0,m_CVvimageObj.Width(),m_CVvimageObj.Height());
}
}
Freundlich mich leiten, das ist die update-version der Klasse zu tun, die gleiche Sache und unterstützen solche DC-Steuerelemente MFC.
- Was haben Sie bekommen, wenn Sie lief Ihren code?
- dieser code ist alt und hatte diese cvvimage option. ich will wissen, was sollte ich in new opencv 2.4. für die gleiche Funktionalität
Du musst angemeldet sein, um einen Kommentar abzugeben.
1.laden Sie zunächst ein Bild bekommen, pic-Namen und Pfad.
2.fügen Sie Folgen code in Ihr button-callback-Funktion.
Ich hoffe das kann Ihnen helfen, einige.
Brauchen Sie nicht von IplImage. Im Grunde zeichnet man eine cv::Mat zu einem DC einer MFC-Steuerelement, mit StretchDIBits.
Es akzeptiert Zeiger auf Speicherblock, in dem die bitmap abgelegt ist... in diesem Fall cv::Mat.Daten
Aber denken Sie daran, dass (diese machen mich Haarrisse vor)
Können Sie DWORD-alignment in OpenCV durch die Verwendung von Bildern, wo cols % 4 == 0, so können Sie fügen Sie einen Rahmen zu Ihrem Bild
Mit copyMakeBorder Sie lösen beide Anforderungen
Anderen Fragen ist Grau-Bilder, da die MFC erfordert eine flache palette, um Sie anzuzeigen. Verwandeln Sie Ihre Matte mit cvtColor oder erstellen der palette:
endlich zeichnen zu HDC
Finden Sie detaillierte Informationen und eine Klasse zur Verwaltung Bild hier passen:
http://www.pklab.net/?&id=390&lang=EN&t=How-to-display-an-OpenCV-image-or-video-in-your-own-MFC-interface