我使用的OpenCV和驗證碼(只有相關的片段)捕獲來自HD凸輪一些圖像數據:獲取最大分辨率)
data->capture =cvCaptureFromCAM(data->config.device); // open the device
...
IplImage *grabFrame=cvQueryFrame(data->capture);
使用這個代碼,我總是得到grabFrame與尺寸爲640x480,而相機支持1920x1080。當我做這樣的事情初始化後:
cvSetCaptureProperty(data->capture,CV_CAP_PROP_FRAME_WIDTH,1920);
cvSetCaptureProperty(data->capture,CV_CAP_PROP_FRAME_HEIGHT,1080);
我得到實時高清分辨率效果 - 但模糊的圖像,意味着它只是從640×480縮放爲HD分辨率。所以:我如何強制OpenCV真正使用填充原生分辨率?
它似乎不是一個驅動程序/硬件問題,因爲它發生在Windows和Linux上 - 當我在這些系統上嘗試任何其他應用程序時,我會按預期獲得完整的原始分辨率。
謝謝!
使用cvSetCaptureProperty()只是一個測試 - 我很樂意獲取默認的視頻大小 - 沒有設置任何屬性。在我的情況下,默認情況下是高清分辨率,一切都會好起來的...... – Elmi
你有沒有檢查你的相機是否在這個列表中? http://opencv.willowgarage.com/wiki/Welcome/OS你可以嘗試更新驅動程序,看看它是否解決了pb。 – Eric
但相機不應該是問題..你可以嘗試這個'cvSetCaptureProperty(data-> capture,CV_CAP_PROP_FRAME_WIDTH,1919);'並報告什麼附加? – Eric