如何在不丢失像素的情况下将图像调整为高分辨率图像?

Mad*_*ool 3 java android opencv image-processing

我正在处理一些图像处理任务.

我使用getDrawingCache()和制作了低分辨率的BitmapcreateScalledBitmap()

但是当我将这个图像调整到高分辨率时说612 X 612我的图像变得模糊了.它看起来很糟糕.

有没有办法在不丢失像素的情况下将图像调整为高分辨率?openCV有这种类吗?

pap*_*pap 5

你不能.如果您的图像是200x200,那么它包含的信息像素数.如果你扩展它,它仍然是相同数量的信息,只有你必须将它传播到更广泛的区域.

可以这样想 - 比如你有一个像素的图像,而像素是蓝色的.现在,您希望将该图像缩放到两个像素.第二个像素应该是什么颜色?答:它可以是任何东西.第一个像素中没有信息可以权威地决定第二个像素应该是什么样的,没有可用的信息.

因此,这不是"丢失像素"的问题,而是添加新像素而没有关于它们应该是什么样的信息.因此,调整大小使用它具有的信息,其基本上是"使插入/新像素与最近的相邻预先存在的像素相同的颜色".

存在用于插值(猜测)插入的像素应该是什么样以避免锯齿状边缘等的算法和技术.维基百科有一些关于各种基于插值的缩放技术超级采样作为起点的好信息.请注意,虽然这些技术都不会创建新信息,但它们只会平滑边缘并使缩放后的图像看起来不那么锯齿.