我正在研究OpenCV (4.3.0),并试图了解如何改变图像的分辨率。
据我所知,我有两种方法可以做到,
我想知道他们是一样的还是不同的。他们之间的确切区别是什么?
发布于 2022-03-18 07:28:08
盖子意味着相机的能力。在从摄像机拍摄之前,我们设置了所需的分辨率。如果仅支持分辨率,则从摄像机中得到一个有效的帧。例如,一个网络摄像头可能支持一些固定数量的决议,如1280x720,640x480等,我们只能为这些决议设置摄像头。
调整大小是一种插值(双线性或双三次或任意一次)函数,它调整(上或下)帧的大小,以任意大小的。
发布于 2022-03-18 07:41:08
这里是你问题的答案之一。CAP_PROP_FRAME_WIDTH和CAP_PROP_FRAME_HEIGHT是一些捕获属性。文件上说:
读写属性涉及许多层。一些意想不到的结果可能会发生在这条链上。有效的行为取决于设备硬件、驱动程序和API后端。
因此,如果您的相机后端与opencv支持的后端匹配,那么您将能够更改相机的分辨率(如果您的相机配置支持不同的分辨率)。例如,照相机可以同时支持640x480和1920x1080。如果opencv后端支持此摄像机后端,则可以通过代码切换分辨率配置:
cap.set(CAP_PROP_FRAME_WIDTH, 640);
cap.set(CAP_PROP_FRAME_HEIGHT, 480);或
cap.set(CAP_PROP_FRAME_WIDTH, 1920);
cap.set(CAP_PROP_FRAME_HEIGHT, 1080);调整尺寸呢?
调整大小()与我们前面讨论的概念完全不同。如果你使用640x480分辨率的相机,视频属性是基于硬件的。这意味着摄像机传感器为每个像素指定了感知器单元。然而,调整大小处理的结果图像通过上的软件。调整大小的是插值(操纵)图像的高度和宽度。换句话说,你看起来像是在看非常近的地方(放大)或非常远的地方(放大)。
https://stackoverflow.com/questions/71522835
复制相似问题