atitit.java thumb生成高质量缩略图 php .net c++

1. 图像缩放(image scaling)---平滑度(smoothness)和清晰度(sharpness) 1

2. 图片缩放原理与opencv的处理方法 1

3. 最近邻插值(简单,不推荐) 2

4. 双线性插值 3

5.  三次卷积插值 3

6. java-image-scaling是一个开源高质量的图像缩略图类 4

7. Thumbnailator    百度8w 4

8. javashop中Jmagick缩略图生成组件及文档(jni) 5

8.1.1. javashop 5

9. atiThumb 5

10. 参考 6

1. 图像缩放(image scaling)---平滑度(smoothness)和清晰度(sharpness)

是指对数字图像的大小进行调整的过程。图像缩放是一种非平凡的过程,需要在处理效率以及结果的平滑度(smoothness)和清晰度(sharpness)上做一个权衡。

当一个图像的大小增加之后,组成图像的像素的可见度将会变得更高,从而使得图像表现得“软”。

相反地,缩小一个图像将会增强它的平滑度和清晰度。

放大用插值算法,缩小用中值算法

失真较小但是算法复杂,如双三次插值;有的运算量小但得到的图像失真较大,如最近邻插值和双线性插值。

进行缩小时候,图像缩小的比例越大,像素跃越现象越明显,显然会产生高频干扰。因此要使得图像不失真必须采用低通滤波的方式将这些高频干扰去除。实际上我们处理的时候是将做反变换和滤波同时进行

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 图片缩放原理与opencv的处理方法

OPENCV提供的cvResize函数原型。

/****************************************************************************************************/
图像大小变换 
void cvResize( const CvArr* src, CvArr* dst, int interpolation=CV_INTER_LINEAR );
src 
输入图像. 
dst 
输出图像. 
interpolation 
插值方法: 
CV_INTER_NN - 最近邻插值, 
CV_INTER_LINEAR - 双线性插值 (缺省使用) 
CV_INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法.. 
CV_INTER_CUBIC - 立方插值. 
函数 cvResize 将图像 src 改变尺寸得到与 dst 同样大小。若设定 ROI,函数将按常规支持 ROI.
/****************************************************************************************************/

3. 最近邻插值(简单,不推荐)

最简单的图像缩放算法就是最近邻插值。顾名思义,就是将目标图像各点的像素值设为源图像中与其最近的点。假设源图像的宽度和高度分别为w0和h0, 缩放后的目标图像的宽度和高度分别为w1和h1, 那

要将该图像放大两倍,可以有很多种算法,最简单的方法为邻域插值,即将每

图1 原图像

一个原像素原封不动地复制映射到扩展后对应四个像素中:

这种方法在放大图像的同时保留了所有的原图像的所有信息,但是会产生锯齿现象。

近邻取样插值缩放简单、速度快,但很多时候缩放出的图片质量比较差(特别是对于人物、景色等),
图片的缩放有比较明显的锯齿;使用二次或更高次插值有利于改善缩放效果;

4. 双线性插值

线性插值,就是如果放大的时候要在a1和a2之间插一个(或几个)新值,那么a=a1*r+a2*(1-r) 0<r<1。
所谓双线性,就是在x方向和y方向都做线性插值。

立方就是把这个公式换成3次多项式,会得到更平滑的效果。

  双线性插值作为OpenCV中默认使用的图像缩放算法,其效果和速度都是不错的。并且效果也比较稳定,计算复杂度并不算太高

“图像的双线性插值放大算法中,目标图像中新创造的象素值,是由源图像位置在它附近的2*2区域4个邻近象素的值通过加权平均计算得出的。双线性内插值算法放大后的图像质量较高,不会出现像素值不连续的的情况。然而次算法具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊。”

二次线性插值缩放出的图片很多时候让人感觉变得模糊(术语叫低通滤波),特别是在放大
的时候;使用三次卷积插值来改善插值结果;三次卷积插值考虑映射点周围16个点(4x4)的颜色来
计算最终的混合颜色,如图;

双线性插值的效果对于放大的图像而言较领域插值来得平滑,但是却使得图像变得模糊而且仍然会有一部分锯齿现象。

但是缩小的话用双线性插值即慢,效果又差(效果和另近点插值应该是一样的。)

5.  三次卷积插值

双三次插值更好比双线性插值更好。

对于低分辨率或颜色很少的(通常是从2到256色)图像的放大问题,效果最好的算法是hq2x算法或类似的缩放算法。这些算法将会产生锐边并保留大量的细节,其效果如下:

对于照片(以及有许多色阶的光栅图像)的缩放算法可以参看一种被称为超采样(supersampling)的反锯齿算法。[1] 如果是

如果是放大算法。。。只是插值还不够,还要反鋸齒

可以试试“三次卷积法”,不过比双线性插值还要慢,效果当然好的多了。

双线性插值只是参考了周围4个点,而三次卷积法参考的是周围16个点,运算过程中也没有低通效果,如果不是很在乎速度的情况下可以考虑。

如果

6. java-image-scaling是一个开源高质量的图像缩略图类

用imagescaling 生成缩略图 Java image scaling是一个高质量图片缩放的开源项目

百度为您找到相关结果约195个

ava-image-scaling  的效果好像也一样。。详见::java 缩略图 - 推酷.htm

7. Thumbnailator    百度8w

后还是thubnalatyor

不过这个

Thumbnails.of(dir+"\\all_r1_c2.jpg").scale(0.70f).outputQuality(1f)

.toFile(dir+"\\all_r1_c2_min3.jpg");

不过这个效果好像也有问题。。

原图640宽度。。缩小后脸蛋光滑。。而个540三,走不行兰...

8. javashop中Jmagick缩略图生成组件及文档(jni)

(2013-05-21 09:05:39)

转载▼

标签:

8.1.1.  href="http://search.sina.com.cn/?c=blog&q=javashop&by=tag" javashop

分类: 技术达人

Javashop默认使用javax.imageio.ImageIO 生成图片缩略图,您还可以选用ImageMagick 组件来生成缩略图

点击下面连接下载组件及文档
ImageMagick组件及文档
一、        安装ImageMagick-

这个马试达guo.

9. atiThumb

需要使用插值算法。下载下面两个类:javashop的俩个类。。

林吧,还是使用了atithumb..suprise,....这个效果的好ا..

prj。wechatAdm4prpt

JavaImageIOCreator creator = new JavaImageIOCreator(dir);

creator.crteteThumbnails(dir, 0.6f);

private void crteteThumbnail(String f1, String f2,

float scallPercet) {

10. photoshop使用的缩放算法以及调用ps来进行缩放

ps的算法集中综合几种高级算法了,效果很好,不开源的。。个人建议使用gui接口调用ps的功能来缩放,效果超好。。如果有api接口那就最好了。回复

11. 参考

java使用Thumbnailator操作图片 - kunkun378263的专栏 - 博客频道 - CSDN.NET.htm

使Javashop生成高清缩略图 - 技术交流区 - JavaShop网上商城技术支持论坛 - Powered by Discuz!.htm

图像缩放算法及速度优化 - 钰的日志 - 网易博客.htm

图像缩放_百度百科.htm

当今主流数字图像缩放技术的算法_Sunny_新浪博客.htm

atitit.thumb生成高质量缩略图 php .net c++ java相关推荐

  1. asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式

    在网站开发时,生成缩略图是一个非常常见和实用的功能.以前在asp里只能借助com组件实现,现在在.net里可以利用框架的强大的类库轻松实现.下面帖出完整的代码(带详细注释),参考了网上的一些文章及.n ...

  2. asp.net生成高质量缩略图通用函数

    Code  1 /**//// <summary>  2        /// 生成缩略图  3        /// </summary>  4        /// < ...

  3. [导入]ASP.NET生成高质量缩略图通用函数(c#代码)

    网站开发时,生成缩略图是一个非常常见和实用的功能.以前在asp里只能借助com组件实现,现在在.net里可以利用框架的强大的类库轻松实现.下面帖出完整的代码(带详细注释),参考了网上的一些文章及.ne ...

  4. 生成高清缩略图; 添加图片、文字水印; 图片、文字水印透明

    之前写了一个公共的ImgHelper类,主要提供高清晰缩略图生成,由于在之前的实际操作过程中存在一些问题,最近有了点时间,于是重新拾起来再改进一下,顺便研究一下GDI+. 问题一:产品搜索列表展示,每 ...

  5. 无需用户输入,Adobe提出自动生成高质量合成图像新方法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 没有用户输入,也能生成高质量的合成图像吗? 编辑:迈威AI研习社 ...

  6. 无需用户输入!Adobe提出自动生成高质量合成图像新方法

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 本文转载自:机器之心  |  作者:He Zhang等 编辑:小舟.杜伟 没有用户输入,也能生 ...

  7. 苏黎世大学 AI 新研究:仅用少量样本生成高质量光声图像

    近日,苏黎世联邦理工学院和苏黎世大学的科学家宣布,可以利用机器学习方法来改善光声成像,成果发表在Nature Machine Intelligence上(点击查看论文链接) "光声成像&qu ...

  8. EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型

    ©作者 | 常馨 学校 | 北京邮电大学硕士生 研究方向 | NLP.信息检索 Abstract 基于自动编码器的语言模型在 Dense Retrieval(DR)中受到越来越多的关注,因为其训练编码 ...

  9. matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...

    这里介绍hist函数结合bar函数绘制统计直方图 一组原始采集数据,如:data=[2 3 -4 -1 4 -5 1 5 -2 -3]; 数据范围为range=-5:5; 首先可以采用hist函数进行 ...

  10. 科技最前沿!Adobe提出自动生成高质量合成图像新方法

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

最新文章

  1. 今天我的Windows Phone 7 HTC HD7 手机 升级 NoDo 了 分享一下经验
  2. linux 修改dmi信息,如何从linux清除DMI系统事件日志?
  3. basler相机参数简要中文说明_你知道相机曝光模式怎么用么?6种相机曝光模式详解及应用...
  4. 对讲机服务器信号不好怎么办呢,手机信号不好是什么原因?该怎么办?教你一招立马解决(绝对有效)...
  5. matlab绘制路线图_绘制国际水域路线图
  6. 在Hadoop上运行基于RMM中文分词算法的MapReduce程序
  7. ASP.NET MVC: 构建不带 Web 窗体的 Web 应用程序(转载)
  8. 运用OpenMP提速图像处理速度
  9. java rf14bug_hadoop2.7.0集群,使用中遇到的bug及解决办法
  10. 在页面里点击一个按钮后出来一个层,可以操作的那么一个层!
  11. LeetCode(733)——图像渲染(JavaScript)
  12. JSF通过EL读取List中的值
  13. 开放源码软件的安装(tar包安装方法)
  14. bat脚本监控tomcat并启动_windows使用批处理发布web到tomcat并启动tomcat脚本分享
  15. 2020年最值得关注的28款区块链游戏
  16. 原创:华三杯2018山东省赛决赛样题试做
  17. 计算机网络经典试题答案,2016年计算机软考网络工程师经典练习试题及答案
  18. 昊鼎王五:高级运维工程师的成长之路,总有一款适合你^_^
  19. 小红书报告:2023美妆个护白皮书解读
  20. VMware安装windows server2008R2x64

热门文章

  1. php 两位小数 00,php保存两位小数的几种要领引见_后端开发
  2. java jdk使用教程_java初学者实践教程2-jdk的使用
  3. 从vim转向Emacs _ emacser.com文章收集
  4. NGN学习笔记6——NGN的业务提供技术
  5. Mysql: mysqlbinlog命令查看日志文件
  6. Json.Net 使用属性定义日期的序列化格式
  7. 半透明效果的实现方式
  8. 系统各层关注的内容【DDDD笔记】
  9. 用WAIK for Win7制作Winpe3.0
  10. keydown和keypress的区别