2015-09-16 123 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