关闭

opencv代码段1

标签: opencv
369人阅读 评论(0) 收藏 举报
分类:

test camera

camera.cpp

#include <opencv2/opencv.hpp>
#include <iostream>
#include <string>
#include <sstream>

using namespace std;

int main(int argc, char** argv)
{
    if(argc != 2){
        cerr << "Usage: ./camera [camera id]"   << endl
           << "Example: ./camera 0" << endl;
        return 1;     
    }

    cout << "Press \"c\" to capture picture."   << endl
           << "Press \"q\" to exit." << endl;
    //cv::VideoCapture capture("bike.avi");

    int camera_id = atoi(argv[1]);
    cv::VideoCapture capture(camera_id);
    if(!capture.isOpened()){
        cerr << "Can not open camera" << endl;
        return 1;
    }

    double rate= capture.get(CV_CAP_PROP_FPS);
    bool stop(false);
    cv::Mat frame; 
    cv::namedWindow("Camera");

    int delay= 1000/rate;
    int count = 0;
    while (!stop) {
        if (!capture.read(frame))
            break;

        cv::imshow("Camera",frame);

        char key = cv::waitKey(delay);

        switch(key){
        case 'c':{
            stringstream ss;
            ss << count++;
            string filename = ss.str(); 
            filename += ".jpg";
            cv::imwrite(filename, frame);
            cout << "save " << filename << endl;
            break;
        }
        case 'q':{
            stop = true;
            break;
        }
        default:
            break;
        }
    }
    capture.release();
    cv::destroyAllWindows();
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(camera)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -std=c++11")

find_package( OpenCV REQUIRED )
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable( camera camera.cpp)
target_link_libraries( camera ${OpenCV_LIBS})
0
0
查看评论

计算代码段运行时间(openCV版)

1.为了衡量函数或代码段的运行时间,openCV有一个很实用的函数:cv::getTickCount(),该函数返回从最近一次电脑开机到当前的时钟周期数。 2.为了得到代码的运行时间,还需要另外一个函数:cv::getTickFrequency(),这个函数返回每秒的时钟周期数。 3.最后,可以...
  • yuandm819
  • yuandm819
  • 2017-05-03 17:36
  • 207

OpenCV中常用代码段

1.保存图片名为文件名char ImageName[N]; sprintf(ImageName, "%s%s", argv[1], ".bmp");//保存的图片名 imwrite(ImageName, image);注意:此时的main函数应写成main(i...
  • lxy_2011
  • lxy_2011
  • 2016-12-14 17:27
  • 364

OpenCV计时代码段

// Timing begins double duration; duration = static_cast< double >( cv::getTickCount( ) );// Process to be timed // process( );duration = static...
  • jjjwwwjjjwww
  • jjjwwwjjjwww
  • 2017-01-14 11:58
  • 100

opencv代码段2

opencv code for filestorage
  • DuinoDu
  • DuinoDu
  • 2016-06-02 08:46
  • 303

opencv 常用代码段

1.给每一个像素点赋值 M.create(4,4, CV_8UC3); for(int i=0;i) { for (int j=0;j) { M.at(i,j)[0]=0; M.at(i,j)[1]=0; M.at(i,j)[2]=255; } } cout "...
  • l1l2l3q1q2q3
  • l1l2l3q1q2q3
  • 2016-03-23 17:05
  • 188

代码段与程序段的区别

一个程序本质上都是由 bss段、data段、text段三个组成的。这样的概念,不知道最初来源于哪里的规定,但 在当前的计算机程序设计中是很重要的一个基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的 问题。 在采用段式内存管理的架构中(比如i...
  • dazhi_100
  • dazhi_100
  • 2012-09-21 23:23
  • 2262

BSS段、数据段、代码段、堆栈段

BSS段、数据段、代码段 可执行程序包括BSS段、数据段、代码段(也称文本段)。 BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行...
  • laviolette
  • laviolette
  • 2014-09-19 14:25
  • 1590

linux代码段,数据段,BSS段, 堆,栈

linux代码段,数据段,BSS段, 堆,栈 网上摘抄了一些,自己组织好了,以便参考 !!!!  进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分...
  • wudebao5220150
  • wudebao5220150
  • 2013-10-22 14:42
  • 5958

数据段描述符和代码段描述符(一)

一、段描述符的分类 在上一篇博文中已经说过,为了使用段,我们必须要创建段描述符。80X86中有各种各样的段描述符,下图展示了它们的分类。 看了上图,你也许会说:天啊,怎么这么多段描述符啊!我可怎么记住呢? 别担心,我会在以后的博文中,跟随原书的作者,为您逐步介绍。我们的学习是循序渐进的,所以...
  • bfboys
  • bfboys
  • 2016-09-01 09:30
  • 1330

我们为什么要看《超实用的HTML代码段》

不知道自己HTML水平如何,不知道HTML5如何进化?看这张图
  • kgsew
  • kgsew
  • 2016-02-18 16:41
  • 1163