我有一些攝像頭連接到我的樹莓派並使用OpenCV捕獲圖像。但是,即使相機沒有移動,圖像看起來也不穩定。當我只運行一個攝像頭時,這似乎不會發生,所以我認爲這是一個USB帶寬問題。爲了減少我開始嘗試降低幀速率的帶寬。羅技C210應該能夠支持5,10,15,20,25和30 fps的幀率。使用v4l2在Raspberry Pi上使用C++在Logitech C210攝像頭上設置幀速率
所以我一直在瀏覽v4l2的文檔,因爲看起來OpenCV無論如何都使用這個庫(雖然不是很好)。我一直在使用v4l2_ioctl()
沒有問題設置相機控制。出於某種原因,我無法以類似的方式設置幀速率。以下是我沿着文檔here所做的工作:。
int descriptor = v4l2_open("/dev/video0", O_RDWR);
v4l2_captureparm s;
s.capability = V4L2_CAP_TIMEPERFRAME;
s.timeperframe.numerator = 1;
s.timeperframe.denominator = 5;
if(v4l2_ioctl(descriptor, VIDIOC_S_PARM, &s) !=0)
{
cout<< "Failed to set frame rate "<<endl;
}
我沒有編譯問題,但我確實收到了錯誤信息,指出值沒有成功設置。
有沒有人有一個想法我做錯了什麼?
在此先感謝!