OpenCV对视频流图像像素尺寸的设置问题
项目场景:在opencv读取视频流时对输入图像的尺寸进行任意设置
问题描述:
在使用opencv处理视频流时,通常要对读取到的图像进行尺寸设置,以便于后续图像处理和算法设计。OpenCV读取视频的类VideoCapture
的接口函数VideoCapture::set(int id,double value)
可以对图像尺寸进行设置。但当我们随意设置一个尺寸后,再输出图像的行和列,会发现输出的行列和我们设置的行列并不同。如有下列程序:
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
//当主机只连接一个摄像头时默认编号为0
VideoCapture cap(0);
//想要得到大小为780×460的图像
cap.set(CAP_PROP_FRAME_WIDTH, 780);
cap.set(CAP_PROP_FRAME_HEIGHT, 460);
while(1)
{
Mat orgImage