我正在处理一些图像处理任务.
我使用getDrawingCache()和createScalledBitmap()制作了低分辨率的Bitmap
但是当我将这个图像调整到高分辨率时说612 X 612我的图像变得模糊了.它看起来很糟糕.
有没有办法在不丢失像素的情况下将图像调整为高分辨率? openCV有这种类吗?
解决方法:
你不能.如果您的图像是200×200,那么它包含的信息像素数.如果你扩展它,它仍然是相同数量的信息,只有你必须将它传播到更广泛的区域.
可以这样想 – 比如你有一个像素的图像,而像素是蓝色的.现在,您希望将该图像缩放到两个像素.第二个像素应该是什么颜色?答:它可以是任何东西.第一个像素中没有信息可以权威地决定第二个像素应该是什么样的,没有可用的信息.
因此,这不是“丢失像素”的问题,而是添加新像素而没有关于它们应该是什么样的信息.因此,调整大小使用它具有的信息,其基本上是“使插入/新像素与最近的相邻预先存在的像素相同的颜色”.
存在用于插值(猜测)插入的像素应该是什么样以避免锯齿状边缘等的算法和技术.维基百科以各种interpolation-based scaling techniques和supersampling作为起点有一些很好的信息.请注意,虽然这些技术都不会创建新信息,但它们只会平滑边缘并使缩放后的图像看起来不那么锯齿.
总结以上是内存溢出为你收集整理的如何在不丢失像素的情况下将图像调整为高分辨率图像?全部内容,希望文章能够帮你解决如何在不丢失像素的情况下将图像调整为高分辨率图像?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)