前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Opencv4.0:遍历Mat图像空间、读取摄像头

Opencv4.0:遍历Mat图像空间、读取摄像头

作者头像
gongluck
发布2018-06-22 12:23:03
6890
发布2018-06-22 12:23:03
举报
文章被收录于专栏:C++C++

GitHub

https://github.com/gongluck/Opencv3.4-study.git

代码语言:javascript
复制
#include "opencv2/opencv.hpp"
using namespace cv;
#pragma comment(lib, "opencv_calib3d340d.lib")
#pragma comment(lib, "opencv_core340d.lib")
#pragma comment(lib, "opencv_dnn340d.lib")
#pragma comment(lib, "opencv_features2d340d.lib")
#pragma comment(lib, "opencv_flann340d.lib")
#pragma comment(lib, "opencv_highgui340d.lib")
#pragma comment(lib, "opencv_imgcodecs340d.lib")
#pragma comment(lib, "opencv_imgproc340d.lib")
#pragma comment(lib, "opencv_ml340d.lib")
#pragma comment(lib, "opencv_objdetect340d.lib")
#pragma comment(lib, "opencv_photo340d.lib")
#pragma comment(lib, "opencv_shape340d.lib")
#pragma comment(lib, "opencv_stitching340d.lib")
#pragma comment(lib, "opencv_superres340d.lib")
#pragma comment(lib, "opencv_video340d.lib")
#pragma comment(lib, "opencv_videoio340d.lib")
#pragma comment(lib, "opencv_videostab340d.lib")

int main()
{
    //显示图片
    Mat image = imread("test.png");
    namedWindow("window");
    imshow("window", image);

    //遍历Mat图像空间
    Mat mat(500, 300, CV_8UC3);
    //mat.create(500, 300, CV_8UC3);
    int size = mat.rows*mat.cols*mat.elemSize();
    int esize = mat.elemSize();
    for (int i = 0; i < size; i += esize)
    {
        mat.data[i] = 0;//B
        mat.data[i+1] = 255;//G
        mat.data[i+2] = 0;//R
    }
    namedWindow("Mat");
    imshow("Mat", mat);

    //读取摄像头
    VideoCapture cam;
    bool res = cam.open("rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov");
    //bool res = cam.open(0);
    Mat capture;
    namedWindow("Cap");
    if (cam.isOpened())
    {
        while (true)
        {
            //cam.read(capture);
            if (!cam.grab())//读取并解码
                continue;
            if(!cam.retrieve(capture))//YUV转RGB
                continue;
            imshow("Cap", capture);
            waitKey(1);
        }
        cam.release();
    }
        
    waitKey(0);
    system("pause");
    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GitHub
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档