跳到主要內容

在Qt中用OpenCV2透過Webcam拍照


最近在練習使用OpenCV,順手紀錄一些用法。下面這段code可以用來控制電腦上的webcam進行拍照並且轉換成QImage物件,以便後續的使用。

#include <opencv2/opencv.hpp>

CvCapture *camera;
IplImage *frame;

camera = cvCreateCameraCapture(-1);  

/* We need to call cvRetrieveFrame twice here to get the last frame.
 * TODO: figure out the root cause and use correct method instead of
 *       the workaround.
 */
cvGrabFrame(camera);
frame = cvRetrieveFrame(camera);
frame = cvRetrieveFrame(camera);
if (frame)
{
QImage image(reinterpret_cast(frame->imageData),
frame->width, frame->height,
frame->widthStep, QImage::Format_RGB888);
QImage colorCorrectedImage(image.rgbSwapped());

/* Show colorCorrectedImage which contains the picture. */
...
}

cvReleaseCapture(&camera);

留言

這個網誌中的熱門文章

Portable Python

我常常需要把Python寫的script帶到其他電腦使用,因此,一個免安裝,可攜帶的Python就顯得十分重要。最近看過了幾個可攜式Python的方案,下面這個PortablePython是我覺得最合我意的方案。因為它提供了大部分會用到的Python module及工具,甚至連wxPython及PyGame也有。同時也有好用的Python編輯器PyScripter。所有開發Python所需的開發工具都一應俱全了!把它放到隨身碟中,就不用到處幫人安裝Python了。 PortablePython : http://www.portablepython.com/