atitit.thumb生成高质量缩略图 php .net c++ java
atitit.java thumb生成高质量缩略图 php .net c++
1. 图像缩放(image scaling)---平滑度(smoothness)和清晰度(sharpness)
1
6. java-image-scaling是一个开源高质量的图像缩略图类 4
8. javashop中Jmagick缩略图生成组件及文档(jni) 5
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. 三次卷积插值
到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 组件来生成缩略图
点击下面连接下载组件及文档 |
这个马试达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的更多相关文章
- ASP.NET 画图与图像处理-生成高质量缩略图
http://www.cftea.com/c/2007/08/SG9WFLZJD62Z2D0O.asp
- C#放缩、截取、合并图片并生成高质量新图的类
原文:C#放缩.截取.合并图片并生成高质量新图的类 using System;using System.Drawing;using System.Drawing.Imaging;using Syste ...
- (转)asp.net 高质量缩略图
原文地址:http://www.cnblogs.com/Fooo/archive/2009/06/19/1506381.html using System.Drawing; ------------- ...
- C#生成高清缩略图
/// <SUMMARY> /// 为图片生成缩略图 /// </SUMMARY> /// <PARAM name="phyPath">原图片的 ...
- C#生成高清缩略图的方法
/// <summary> /// 为图片生成缩略图 /// </summary> /// <param name="phyPath">原图片的 ...
- C#生成高清缩略图 (装在自OPEN经验库)
来源 http://www.open-open.com/lib/view/open1389943861320.html 代码如下实现图片的高清缩略图 /// <summary> /// 为 ...
- C#剪切生成高质量缩放图片
/// <summary> /// 高质量缩放图片 /// </summary> /// <param name="OriginFilePath"&g ...
- StackOverflow 周报 - 高质量问题的问答(Java、Python)
这是 Stack Overflow 第三周周报,本周加入了 Python 的内容,原计划两篇 Java.两篇 Python.但明天过节所以今天就先把周报发了,两篇 Java.一篇 Python.公众号 ...
- StackOverflow 周报 - 第四周高质量问题的问答(Java、Python)
这是 Stack Overflow 第三周周报,由于本周周四外出,所以只有三篇内容.两篇 Java.一篇 Python.公众号「渡码」为日更,欢迎关注. DAY1. 枚举对象 == 和 equals ...
随机推荐
- jq幻灯片2013-8-31
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- HTML5制作简单画板
<!DOCTYPE HTML> <html lang="en-US"> <head> <title></title> & ...
- mysql TO_DAYS()函数
TO_DAYS(date)给定一个日期date, 返回一个天数 (从年份0开始的天数 ). 例: select TO_DAYS(NOW()); +----------------+ | TO_DA ...
- [Android Pro] android root权限破解分析
许 多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简 单及安全的,破解Root权限的原理就是在手机的/s ...
- 网络游戏MMORPG服务器架构
转载于:http://justdo2008.iteye.com/blog/1936795 1.网络游戏MMORPG整体服务器框架,包括早期,中期,当前的一些主流架构 .关键词 网络协议 网络IO 消息 ...
- 视频运行库AVICAP32.DLL说明收藏
视频运行库AVICAP32.DLL说明收藏2008-09-28 09:04 // ----------------------------------------------------------- ...
- python 相似语句匹配(非机器学习)
#coding=utf-8 import xlrd import distance from sklearn.feature_extraction.text import CountVectorize ...
- Python 高级图像处理
构建图像搜索引擎并不是一件容易的任务.这里有几个概念.工具.想法和技术需要实现.主要的图像处理概念之一是逆图像查询(RIQ).Google.Cloudera.Sumo Logic 和 Birst 等公 ...
- Cognos TM1_10.1.1服务端安装
出于对bi行业的强大热爱,出于对cognos tm1的强大兴趣,于是就想研究一下Cognos TM1(table manager one),今天就分享一下自己微不足道研究成果,真可谓是tm1的九牛一毛 ...
- Thinkpad X201 Gobi2000 上电信3G网络
网上的教程大多有点小问题,许多都不完整,今天放出系统化.理论化的设置方法,附送上所有软件. 一.本教程适用范围:1.gobi 2000 正式版 FRU:60Y3263 (带MEID.IMEI)2.- ...