zoukankan      html  css  js  c++  java
  • Opencv4.0:遍历Mat图像空间、读取摄像头

    GitHub

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

    #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;
    }
    
  • 相关阅读:
    Linux systemctl命令笔记
    网站建设部署与发布--笔记4-部署mysql
    网站建设部署与发布--笔记3-部署Nginx
    c++模板文件,方便调试与运行时间的观察
    最大公约数-辗转相除及其证明
    汉诺塔-递归
    全排列算法-递归
    蓝桥-愤怒的小鸟
    PAT Basic 1032
    浮点数精度的修正 相等,大于小于
  • 原文地址:https://www.cnblogs.com/gongluck/p/9160829.html
Copyright © 2011-2022 走看看