![]() |
1
2
我发现wxWidgets实现很容易根据需要进行修改。它都是C++的,所以在那里没有可移植性的问题。唯一的区别是,它们的实现使用无符号字符数组(我发现这是处理图像最简单的方法),字节顺序为RGB,alpha组件在单独的数组中。 如果您引用wxWidgets源树中的“src/common/image.cpp”文件,则有一个down sampler函数,它使用一个box采样方法“wxImage::ResampleBox”和一个名为“wxImage::resamplebubic”的向上scaler函数。 |
![]() |
2
2
一个相当简单和体面的图像重采样算法是 Bicubic interpolation |
![]() |
3
2
OpenGL是否有可能在向量域中进行缩放?如果是这样,任何基于像素的缩放都不可能在质量上接近它。这是基于矢量的图像的最大优点。
编辑:我想的是米切尔·内特拉瓦利的作品,在这个链接的底部引用了它: http://www.cg.tuwien.ac.at/~theussl/DA/node11.html 你也可以调查一下 Lanczos resampling |
![]() |
4
2
现在我看到了您的原始图像,我认为OpenGL使用的是最近邻算法。它不仅是调整大小的最简单的方法,而且也是最快的方法。唯一的缺点是,如果你的原始图像中有任何细节的话,它看起来很粗糙。 这样做的目的是从原始图像中提取均匀分布的样本;在您的情况下,256个样本中有55个,或者每4.6545个样本中就有一个样本。只需将数字四舍五入即可选择像素。 |
![]() |
5
1
|
![]() |
6
1
Adobe通用图像库 http://opensource.adobe.com/wiki/display/gil/Downloads )如果你想准备一些东西而不仅仅是一个算法。 http://www.catenary.com/howto/enlarge.html#c 放大或缩小-C源代码 对于32位Windows 5.3或更高版本,需要Victor图像处理库。
|
![]() |
8
1
我们敬爱的主持人的一篇普通文章: Better Image Resizing |
![]() |
9
1
听起来,您真正难以理解的是正确重采样图像所涉及的离散-连续-离散流。一份好的技术报告可以帮助你了解你所需要的是阿尔维·雷·史密斯的 A Pixel Is Not A Little Square . |
![]() |
10
0
看一看 ImageMagick ,它执行各种重新缩放筛选器。 |
![]() |
11
0
this article 上面。它实现了过滤的两次调整大小。资料来源是C#,但看起来很清楚,我可以把它移植过来试试。我昨天发现了非常相似的C代码,很难理解(非常糟糕的变量名)。我把它做了一些工作,但它很慢,没有产生好的结果,这使我相信我的适应有一个错误。我可能会有更好的运气从零开始写这个作为参考,我会尝试。 但考虑到两次通过的算法是如何工作的,我想知道是否没有一种更快的方法来实现它,甚至在一次通过的情况下? |
![]() |
McRui · Laravel storeAs()存储问题中的图像 1 年前 |
![]() |
HTML · 如何使用css使任何SVG图像灰度化? 2 年前 |
![]() |
GabyUnalaq · 从原始RGB深度图像到灰度的转换不正确 2 年前 |
![]() |
MHSarmadi · 阻止显示未完全加载的图像 2 年前 |
![]() |
softandwet · 反应img onError未点火 2 年前 |
![]() |
Nilesh soni · 颤振图像已缩放,但如何更改缩放位置 2 年前 |