树莓派图像采集

#include <opencv/cv.h>
#include <opencv/highgui.h>
#include<stdio.h>
#include <iostream>
#include<opencv2/opencv.hpp>
using namespace cv;

int main(int argc, char *argv[])
{
      CvCapture* pCapture = cvCreateCameraCapture(0);
      cvNamedWindow("Video", 1);
    int row,column;
    int i,j;    
      while(1)
      {
          IplImage* pFrame=cvQueryFrame( pCapture );
        if(!pFrame)break;
//        IplImage* gray=cvCreateImage(cvGetSize(pFrame),IPL_DEPTH_8U,1);
//        cvCvtColor(pFrame,gray,CV_BGR2GRAY);
        column=pFrame->width/2;
        row=pFrame->height/2;
        for(i=0;i<pFrame->width;i++){
            ((uchar*)(pFrame->imageData+row*pFrame->widthStep))[i*pFrame->nChannels+0]=255;
            ((uchar*)(pFrame->imageData+row*pFrame->widthStep))[i*pFrame->nChannels+1]=255;
            ((uchar*)(pFrame->imageData+row*pFrame->widthStep))[i*pFrame->nChannels+2]=255;
        }
        for(j=0;j<pFrame->height;j++){
            ((uchar*)(pFrame->imageData+j*pFrame->widthStep))[column*pFrame->nChannels+0]=255;
            ((uchar*)(pFrame->imageData+j*pFrame->widthStep))[column*pFrame->nChannels+1]=255;
            ((uchar*)(pFrame->imageData+j*pFrame->widthStep))[column*pFrame->nChannels+2]=255;
        }
          cvShowImage("Video",pFrame);
          char c=cvWaitKey(100);//单位毫秒
          if(c==27)break;//按下esc键,摄像停止
      }
      cvReleaseCapture(&pCapture);
      cvDestroyWindow("Video");
      return 0;
}

CMakeLists.txt

# cmake needs this line
cmake_minimum_required(VERSION 2.8)

# Define project name
project(cam_video)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)

# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
#message(STATUS "OpenCV library status:")
#message(STATUS "    version: ${OpenCV_VERSION}")
#message(STATUS "    libraries: ${OpenCV_LIBS}")
#message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

# Add OpenCV headers location to your include paths
include_directories(${OpenCV_INCLUDE_DIRS})

# Declare the executable target built from your sources
add_executable(cam_video cam_video.cpp)

# Link your application with OpenCV libraries
target_link_libraries(cam_video ${OpenCV_LIBS})
原文地址:https://www.cnblogs.com/2Bthebest1/p/7492998.html