2015-09-16 51 views
0

我有一個正在Parrot AR.Drone 2.0版上運行的C++代碼來檢測對象,然後將檢測到的對象的圖像保存到控制器(計算機)。大家都知道,AR.Drone擁有720p高清攝像頭。但是,保存的圖像非常模糊。我似乎找不到任何增加保存圖像分辨率的OpenCV功能,但我相信OpenCV默認分辨率設置爲95/100。有誰知道這個問題的任何解決方案?使用OpenCV模糊保存檢測對象的圖像

任何輸入或評論都會有幫助。

+0

您是否在尋找去模糊(去除模糊)或放大(增加分辨率)? 你是什麼意思「分辨率設置爲95/100」 –

+0

提高分辨率。我在某處讀到OpenCV默認情況下將保存的圖像的分辨率設置爲95,最大範圍爲100.我假設你問這個問題是因爲那是不正確的信息,對吧? – kingpin

+1

分辨率不會自動更改。如果您觀察的圖像太小,則可能會在您的代碼中發生一些重新縮放。這可以解釋模糊,因爲rescalung包含插值。 – Micka

回答

1

我認爲你的意思是95/100的jPEG質量。你可以改變的cv::imwrite第三個參數就像在opencv documentation

cv::imwrite("name.jpg", image, CV_IMWRITE_JPEG_QUALITY=100); //100 instead of default 95 

說,但這種方法只提高質量,而不是解決...和不應該有95和100%相差無幾。

+1

或保存爲PNG(如果jpeg是這裏的問題) – Miki

+1

不太可能 - 較低的JPEG質量會導致塊僞影,而不會模糊。 – MSalters

+0

是的,我不認爲改變第三個參數會有很大的不同。我也用JPEG格式保存圖像,我不認爲圖像格式會影響圖像的質量。我會嘗試以PNG格式保存圖像,看看是否有幫助。除了PNG格式之外,還有其他人會推薦嗎? – kingpin