首页 > 解决方案 > uEye 相机无法设置自定义分辨率

问题描述

尝试为 uEye 相机设置自定义分辨率时,我收到“NO_ACTIVE_IMG_MEM”错误代码:

statusRet = Camera.Memory.Allocate(1280, 720, 8);
if (statusRet != uEye.Defines.Status.Success)
{
 MessageBox.Show("Failed to allocate memory for 720p");
 Environment.Exit(-1);
}

代码来自:

https://de.ids-imaging.com/programming-examples-details/ueye-net-text-on-bitmap-image.html

可以从以下位置下载:

https://drive.google.com/open?id=1rVWVetgvxVgOaxhmQuXISRpQwwL_PIZR

(原始链接需要注册)。

内存分配片段可以在 Form1.cs 中找到(分辨率、颜色深度省略):

statusRet = Camera.Memory.Allocate();
if (statusRet != uEye.Defines.Status.Success)
{
 MessageBox.Show("Allocate Memory failed");
 Environment.Exit(-1);
} 

如何让 uEye 相机以给定的分辨率输出图像(4K 导致低帧率)?

标签: c#winformscameracamera-calibration

解决方案


您可以使用 AOI 大小来控制分辨率

Camera.Size.AOI.Set(388, 258, 1280, 1024);  (Resolution : 1280 X 1024)

并使用“定时”设置帧率

Camera.Timing.Framerate.Set(30);  (FPS : 30)

推荐阅读