精华内容
下载资源
问答
  • 问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机、平板或网络限制下被人为压缩,降低了画质。  如今高分辨率显示屏幕正在家庭和移动设备上普及,因此,把低分辨率图片转化为高清晰版本,并可在多种...

      每天都有数以百万计的图片在网络上被分享、储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片。问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机、平板或网络限制下被人为压缩,降低了画质。

      如今高分辨率显示屏幕正在家庭和移动设备上普及,因此,把低分辨率图片转化为高清晰版本,并可在多种设备上查看和分享,正在成为一项巨大的需求。日前,Google 推出了一项新技术 RAISR,其全称是“Rapid and Accurate Image Super-Resolution”,意为“快速、精确的超分辨率技术”。

      RAISR 这项技术能利用机器学习,把低分辨率图片转为高分辨率图片。它的效果能达到甚至超过现在的超分辨率解决方案,同时速度提升大约 10 至 100 倍,且能够在普通的移动设备上运行。而且,Google 的技术可以避免产生混叠效应(aliasing artifacts)。

      之前已经具有透过升采样方式,把低分辨率图片重建为尺寸更大、像素更多、更高画质图片的技术。最广为人知的升采样方式是线性方法,即透过把已知的像素值进行简单、固定的组合,以添加新的像素值。因为使用固定的线性过滤器(一个恒定卷积核对整个图片的无差别处理),该方法速度很快。但是它对于重建高清作品里生动的细节有些力不从心。正如下面这张图片,升采样的图片看起来很模糊,很难称得上画质提升。

      

      ▲ 左为原始图片;右为升采样处理后图片。

      对于 RAISR,Google 另辟蹊径得采用机器学习,用一对低分辨率、高分辨率图片训练该程序,以找出能选择性应用于低分辨率图片中每个像素的过滤器,这样能生成媲美原始图片的细节。目前有两种训练 RAISR 的方法:

    • 第一种是“直接”方式,过滤器在成对高、低分辨率图片中直接学习。
    • 第二种方法需要先对低分辨率图片应用低功耗的的升采样,然后在升采样图片和高分辨率图片的组合中学习过滤器。
    • “直接”方式处理起来更快,但第二种方法照顾到了非整数范围的因素,并且更好地利用硬件性能。

      无论是哪种方式,RAISR 的过滤器都是根据图像的边缘特征训练的:亮度和色彩梯度、平实和纹理区域等。这又受到方向(direction,边缘角度)、强度(strength,更锐利的边缘强度更高)和黏性(coherence,一项量化边缘方向性的指标)的影响。以下是一组 RAISR 过滤器,从一万对高、低分辨率图片中学习得到(低分辨率图片经过升采样)。该训练过程耗费约 1 小时。

      

      注:3 倍超分辨率学习,获得的 11×11 过滤器集合。过滤器可以从多种超分辨率因素中学习获得,包括部分超分辨率。注意当图中边缘角度变化时,过滤器角度也跟着旋转。相似的,当强度提高时,过滤器的锐利度也跟着提高;黏性提高时,过滤器的非均相性(anisotropy)也提高。

      从左至右,学习得到的过滤器与处理后的边缘方向有选择性的呼应。举例来说,最底一行中间的过滤器最适合强水平边缘(90 度梯度角),并具有高黏性(直线的而非弯曲的边缘)。如果这个水平边缘是低对比度的,那么如同图中最上一行,另一个过滤器就被选择。

      实际使用中,RAISR 会在已经学习到的过滤器列表中选择最合适的过滤器, 应用于低分辨率图片的每一个像素周围。当这些过滤器被应用于更低画质的图像时,它们会重建出相当于原始分辨率的细节,这大幅优于线性、双三(bicubic)、兰索斯(Lancos)解析方式。

      

      ▲ RAISR 演算法运行图式下:原始图像(左),2 倍双三解析(中),RAISR 效果(右)。

      一些运用 RAISR 进行图片增强的范例:

      

      ▲ 上:原始图片,下:RAISR 2 倍超分辨率效果。

      

      ▲ 左:原始图片,右:RAISR 3 倍超分辨率效果。

      超分辨率技术更复杂的地方在于如何避免混叠效应,例如龟纹(Moire patterns)和高频率内容在低分辨率下渲染产生的锯齿(对图像人为降级的情形)。这些混叠效应的产物会因对应部分的形状不同而变化,并且很难消除。

      

      ▲ 左:正常图像;右:右下角有龟纹(混叠效应)的图像。

      线性方法很难恢复图像结构,但是 RAISR 可以。下面是一个例子,左边是低分辨率的原始图片,左 3 和左 5 有很明显的空间频率混淆(aliased spatial frequencies),而右侧的 RAISR 图像恢复了其原始结构。RAISR 的过滤器学习方法还有一项重要的优点:用户可以把消除噪音以及各类压缩演算法的产物做为训练的一部分。当 RAISR 被提供相应的范例后, 它可以在图片锐化之外学会消除这些效果,并把这些功能加入过滤器。

      

      ▲ 左:有强混叠效应的原始图片;右:RAISR 处理后效果。

      超分辨率技术利用不同的方法已经有了不少进展。如今,透过把机器学习与多年来不断发展的成像技术相结合,图像处理技术有了长足的进步,并带来许多好处。举例来说,除了放大手机上的图片,用户还可以在低分辨率和超高清下捕捉、储存、传输图像,使用更少的移动网络数据和储存空间,而且不会产生肉眼能观察到的画质降低。

      小结:自从乔布斯 2010 年在 iPhone 4s 上推出“视网膜屏幕”概念之后,数码产品市场开启了一场超高清显示革命。如今,家用显示器逐步走向 4K,各大手机厂商也竞相推出 2K 旗舰机。但 2K、4K 内容的缺乏一直是困扰行业发展的痛点。之前的超分辨率技术受成本、硬件限制,主要应用于专业领域,未能大范围普及。

      此次 Google RAISR 大幅降低了图像增强的时间成本和硬件要求,有望实现超分辨率技术在消费领域的应用,把充斥网络的低画质图片转化为高清图片,大幅提高视觉效果和用户体验。雷锋网十分期待将来 RAISR 在移动设备的应用,例如把消费者手机拍摄的照片转化为媲美单反画质的高清美图。

      (本文由 雷锋网授权转载;首图来源:Flickr/Carlos LunaCC BY 2.0)

    展开全文
  • 问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机、平板或网络限制下被人为压缩,降低了画质。  如今高分辨率显示屏幕正在家庭和移动设备上普及,因此,把低分辨率图片转化为高清晰版本,并可在多种设备...

    每天都有数以百万计的图片在网络上被分享、储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片。问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机、平板或网络限制下被人为压缩,降低了画质。

      如今高分辨率显示屏幕正在家庭和移动设备上普及,因此,把低分辨率图片转化为高清晰版本,并可在多种设备上查看和分享,正在成为一项巨大的需求。日前,Google 推出了一项新技术 RAISR,其全称是“Rapid and Accurate Image Super-Resolution”,意为“快速、精确的超分辨率技术”。

      RAISR 这项技术能利用机器学习,把低分辨率图片转为高分辨率图片。它的效果能达到甚至超过现在的超分辨率解决方案,同时速度提升大约 10 至 100 倍,且能够在普通的移动设备上运行。而且,Google 的技术可以避免产生混叠效应(aliasing artifacts)。

      之前已经具有透过升采样方式,把低分辨率图片重建为尺寸更大、像素更多、更高画质图片的技术。最广为人知的升采样方式是线性方法,即透过把已知的像素值进行简单、固定的组合,以添加新的像素值。因为使用固定的线性过滤器(一个恒定卷积核对整个图片的无差别处理),该方法速度很快。但是它对于重建高清作品里生动的细节有些力不从心。正如下面这张图片,升采样的图片看起来很模糊,很难称得上画质提升。

      

      ▲ 左为原始图片;右为升采样处理后图片。

      对于 RAISR,Google 另辟蹊径得采用机器学习,用一对低分辨率、高分辨率图片训练该程序,以找出能选择性应用于低分辨率图片中每个像素的过滤器,这样能生成媲美原始图片的细节。目前有两种训练 RAISR 的方法:

    • 第一种是“直接”方式,过滤器在成对高、低分辨率图片中直接学习。
    • 第二种方法需要先对低分辨率图片应用低功耗的的升采样,然后在升采样图片和高分辨率图片的组合中学习过滤器。
    • “直接”方式处理起来更快,但第二种方法照顾到了非整数范围的因素,并且更好地利用硬件性能。

      无论是哪种方式,RAISR 的过滤器都是根据图像的边缘特征训练的:亮度和色彩梯度、平实和纹理区域等。这又受到方向(direction,边缘角度)、强度(strength,更锐利的边缘强度更高)和黏性(coherence,一项量化边缘方向性的指标)的影响。以下是一组 RAISR 过滤器,从一万对高、低分辨率图片中学习得到(低分辨率图片经过升采样)。该训练过程耗费约 1 小时。

      

      注:3 倍超分辨率学习,获得的 11×11 过滤器集合。过滤器可以从多种超分辨率因素中学习获得,包括部分超分辨率。注意当图中边缘角度变化时,过滤器角度也跟着旋转。相似的,当强度提高时,过滤器的锐利度也跟着提高;黏性提高时,过滤器的非均相性(anisotropy)也提高。

      从左至右,学习得到的过滤器与处理后的边缘方向有选择性的呼应。举例来说,最底一行中间的过滤器最适合强水平边缘(90 度梯度角),并具有高黏性(直线的而非弯曲的边缘)。如果这个水平边缘是低对比度的,那么如同图中最上一行,另一个过滤器就被选择。

      实际使用中,RAISR 会在已经学习到的过滤器列表中选择最合适的过滤器, 应用于低分辨率图片的每一个像素周围。当这些过滤器被应用于更低画质的图像时,它们会重建出相当于原始分辨率的细节,这大幅优于线性、双三(bicubic)、兰索斯(Lancos)解析方式。

      

      ▲ RAISR 演算法运行图式下:原始图像(左),2 倍双三解析(中),RAISR 效果(右)。

      一些运用 RAISR 进行图片增强的范例:

      

      ▲ 上:原始图片,下:RAISR 2 倍超分辨率效果。

      

      ▲ 左:原始图片,右:RAISR 3 倍超分辨率效果。

      超分辨率技术更复杂的地方在于如何避免混叠效应,例如龟纹(Moire patterns)和高频率内容在低分辨率下渲染产生的锯齿(对图像人为降级的情形)。这些混叠效应的产物会因对应部分的形状不同而变化,并且很难消除。

      

      ▲ 左:正常图像;右:右下角有龟纹(混叠效应)的图像。

      线性方法很难恢复图像结构,但是 RAISR 可以。下面是一个例子,左边是低分辨率的原始图片,左 3 和左 5 有很明显的空间频率混淆(aliased spatial frequencies),而右侧的 RAISR 图像恢复了其原始结构。RAISR 的过滤器学习方法还有一项重要的优点:用户可以把消除噪音以及各类压缩演算法的产物做为训练的一部分。当 RAISR 被提供相应的范例后, 它可以在图片锐化之外学会消除这些效果,并把这些功能加入过滤器。

      

      ▲ 左:有强混叠效应的原始图片;右:RAISR 处理后效果。

      超分辨率技术利用不同的方法已经有了不少进展。如今,透过把机器学习与多年来不断发展的成像技术相结合,图像处理技术有了长足的进步,并带来许多好处。举例来说,除了放大手机上的图片,用户还可以在低分辨率和超高清下捕捉、储存、传输图像,使用更少的移动网络数据和储存空间,而且不会产生肉眼能观察到的画质降低。

      小结:自从乔布斯 2010 年在 iPhone 4s 上推出“视网膜屏幕”概念之后,数码产品市场开启了一场超高清显示革命。如今,家用显示器逐步走向 4K,各大手机厂商也竞相推出 2K 旗舰机。但 2K、4K 内容的缺乏一直是困扰行业发展的痛点。之前的超分辨率技术受成本、硬件限制,主要应用于专业领域,未能大范围普及。

      此次 Google RAISR 大幅降低了图像增强的时间成本和硬件要求,有望实现超分辨率技术在消费领域的应用,把充斥网络的低画质图片转化为高清图片,大幅提高视觉效果和用户体验。雷锋网十分期待将来 RAISR 在移动设备的应用,例如把消费者手机拍摄的照片转化为媲美单反画质的高清美图。

     

    英文论文地址:

    Google Research Blog:

     

     

    谷歌产品博客今日发文介绍其图像压缩技术RAISR,RAISR于去年11月推出,利用机器学习生成高质量版本的低分辨率图像,使加载每张高清大图片使用的带宽减少75%。

    专业、技能高超、有独特风格的许多摄影师们都早已在 Google+ 上建立博客,以支持社区及分享他们的作品。无论是玩具、旅行风景还是街头艺术,每张照片都有一个独特的故事,值得以最佳的分辨率来欣赏。

    传统上,以高分辨率欣赏照片意味着需要使用大量带宽,导致加载速度变慢,数据成本升高。对许多人来说,尤其对数据价格高昂或互联网接入速度慢的地区的人来说,这是一个值得关注的问题。

    为了让每个人都能观看到摄影师分享到 Google+ 的高清照片,我们利用机器学习和名为 RAISR 的新技术试图解决这个问题。RAISR 于11月推出,利用机器学习生成高质量版本的低分辨率图像,以让人们能够欣赏到摄影师的美丽照片。通过使用 RAISR 来显示 Google+ 上的大图片,我们能使每张图片使用的带宽减少 75%。

    虽然我们只在安卓设备子集流中出现高分辨率图片是才推出此功能,但我们已经每周使用 RAISR 压缩超过10亿张图片,为用户降低了约三分之一的总带宽。接下来几周里,我们计划更广泛地推广这项技术,以进一步节省时间和数据成本。

     

    看到这个技术,想了解一下,看看算法原理,主要参考代码如下:https://github.com/MKFMIKU/RAISR

    版本是基于python2.7的。

    算法原理:

    (1)先创建一个低分辨率的图片,保存在hashtable中。

    (2)在高低分辨率的成对图片中学习,即先对低分辨率图片应用低功耗的的升采样,然后在升采样图片和高分辨率图片的组合中学习过滤器。

     

    转载于:https://www.cnblogs.com/home123/p/7364575.html

    展开全文
  • 安卓图片缓存技术

    千次阅读 2016-03-20 11:19:19
    概述:随着手机硬件水平的提高及摩尔效应带来的成本的降低,用户手机上的图片分辨率越来越高,而对于移动终端而言内存存在一定的限制的,如果程序占用过高的内存,也会抛出OOM异常,降低了APP的用户体验感。...

    概述:随着手机硬件水平的提高及摩尔效应带来的成本的降低,用户手机上的图片的分辨率越来越高,而对于移动终端而言内存存在一定的限制的,如果程序占用过高的内存,也会抛出OOM异常,降低了APP的用户体验感。另外自己做的APP应该尽可能的减少安装包的体积。本博客主要讲述通过压缩图片来减少安装包体积和通过使用图片缓存技术来高效加载大图。

    一 压缩图片:

         在加载高分辨率图片的时候,最好先将图片进行压缩,一般情况下将图片压缩到大小与展示该图片的控件的大小差不多就可以。比如说:我们常用的腾讯QQ,在展示用户图像的控件上显示的实际上是压缩过的用户上传后的图片,当你要查看自己上传高清图像时,腾讯专门提供了一个查看大图的功能,此时才会将用户上传的图片显示出来,这样做的目的当然是为了减少程序占用的内存。

    压缩图片主要是用到了安卓BitmapFactory.Options类,主要是通过设置options.inJustDecodeBounds = true; 这样就能在不将该bitmap加载到内存的情况下获得该图片的大小方面的属性,如:options.outHeight,options.outWidth。这样就可以根据需求对这些大小属性进行相应的压缩操作,记得在压缩操作完成后要设置options.inJustDecodeBounds = false;代码如下:
    /**@author htq
     * 在该方法中对图片进行压缩,可以减少加载图片时占用的java内存。
     * @param path
     * @return
     */
    	private Bitmap loadBitmapFromLocal(String path) {
    		if (path == null) {
    			return null;
    		}
    		
    		BitmapFactory.Options options = new Options();
    		options.inJustDecodeBounds = true;
    		Bitmap bitmap = BitmapFactory.decodeFile(path, options);
    		float height = 800f;
    		float width = 480f;
    		float scale = 1;
    		if (options.outWidth > width && options.outWidth > options.outHeight) {
    			scale = options.outWidth / width;
    		} else if (options.outHeight > height
    				&& options.outHeight > options.outWidth) {
    			scale = options.outHeight / height;
    		} else {
    			scale = 1;
    		}
    		options.inSampleSize = (int) scale;
    		options.inJustDecodeBounds = false;
    		bitmap = BitmapFactory.decodeFile(path, options);
    		bitmap = decodeBitmap(bitmap);
    		if (!imgCaches.containsKey(path)) {
    			//imgCaches.put(path, new SoftReference<Bitmap>(bitmap));
    			addCache(path, bitmap);
    		}
    		return bitmap;
    	}

    除了减少图片占用程序运行的java内存外,还可以对图片进行质量压缩,不会减少图片的像素,所以转化为bitmap后java内存占用与压缩前相同,但可以用来减少图片的大小,即减少图片占用的磁盘空间。代码如下:
    /**@author htq
    	 * 该方法是对图片进行质量压缩,不会减少图片的像素,所以转化为bitmap后java内存占用与压缩前相同
    	 * 仅仅用来减少图片的大小。
    	 */
    	private Bitmap decodeBitmap(Bitmap bitmap) {
    		int scale = 100;
    		ByteArrayOutputStream bos = new ByteArrayOutputStream();
    		bitmap.compress(Bitmap.CompressFormat.JPEG, scale, bos);
    		while ((bos.toByteArray().length / 1024) > 30) {
    			bos.reset();
    			bitmap.compress(Bitmap.CompressFormat.JPEG, scale, bos);
    			scale -= 10;
    		}
    		ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
    		bitmap = BitmapFactory.decodeStream(bis);
    		return bitmap;
    	}


    二 使用图片缓存技术来高效加载大图
         2.1使用软引用来缓存图片:主要是通过一个HashMap来将图片路径和图片资源(用软引用表示)关联起来。代码如下:
     private static HashMap<String, SoftReference<Bitmap>> imgCaches;
     imgCaches = new HashMap<String, SoftReference<Bitmap>>();
              具体加载图片步骤如下:
             1.通过path路径查看缓存中是否存在该图片,如果存在,则直接加载,如果不存在,则开启一个子线程从网络中获取。
    2.图片下载完成后,将该图片放入到缓存中,供下次查询时使用。具体代码如下:

    	public void loadBitmap(final String path,
    			final OnLoadBitmapListener listener) {
    		final Handler handler = new Handler() {
    			@Override
    			public void handleMessage(Message msg) {
    				super.handleMessage(msg);
    				Bitmap bitmap = (Bitmap) msg.obj;
    				listener.loadImage(bitmap, path);
    			}
    		};
    		new Thread() {
    
    			@Override
    			public void run() {
    				executorThreadPool.execute(new Runnable() {
    					@Override
    					public void run() {
    						Bitmap bitmap = loadBitmapFromCache(path);
    						if (bitmap != null) {
    							Message msg = handler.obtainMessage();
    							msg.obj = bitmap;
    							handler.sendMessage(msg);
    						}
    
    					}
    				});
    			}
    
    		}.start();
    	}


    
    
    
    
    

        2.2内存缓存技术:主要是通过LruCache这个类来缓存图片,故名思意可知,当缓存的图片达到了预先设定的值的时候,那么近期使用次数最少的图片就会被回收掉。

    使用该类时要预先设置缓存图片内存大小,且必须重写该类的sizeof()方法,默认返回图片数量。代码如下:

    private LruCache<String, Bitmap> mMemoryCache = new LruCache<String, Bitmap>(cacheSize) {
    		@Override
    		protected int sizeOf(String key, Bitmap bitmap) {
    			// 重写此方法来衡量每张图片的大小,默认返回图片数量。
    			return bitmap.getByteCount() / 1024;
    		}
    	};

    与上述使用软引用来加载缓存图片类似,首先会在 LruCache 的缓存中进行检查。如果找到了该图片的缓存,则直接加载,否则开启一个后台线程来加载这张图片。代码如下:
    <pre name="code" class="html">public synchronized void addBitmapToMemoryCache(String key, Bitmap bitmap) {
            if (mMemoryCache.get(key) == null) {
                if (key != null && bitmap != null)
                    mMemoryCache.put(key, bitmap);
            } else
                Log.w(TAG, "the res is aready exits");
        }
    
        public synchronized Bitmap getBitmapFromMemCache(String key) {
            Bitmap bm = mMemoryCache.get(key);
            if (key != null) {
                return bm;
            }
            return null;
        }

    /**
         * 移除缓存
         * 
         * @param key
         */
        public synchronized void removeImageCache(String key) {
            if (key != null) {
                if (mMemoryCache != null) {
                    Bitmap bm = mMemoryCache.remove(key);
                    if (bm != null)
                        bm.recycle();
                }
            }
        }


    
    
            
       


    展开全文
  • ImageView加载图片OOM

    2018-09-07 18:30:41
    开发中给ImageView加载一个高质量图片时,APP抛出了“Canvas: trying to draw too large(840253440bytes) bitmap.”的异常。...1.修改图片分辨率降低分辨率以减少内存占用,前提是手机展示时不会失真太严重。 ...

    开发中给ImageView加载一个高质量图片时,APP抛出了“Canvas: trying to draw too large(840253440bytes) bitmap.”的异常。猜测是图片占用内存太大,超出APP被分配的内存(我用的mate9,APP被分的内存差不多200m),造成了oom。

    解决方法:

    1.修改图片分辨率。降低分辨率以减少内存占用,前提是手机展示时不会失真太严重。

    2.正确的放置图片资源。把高分辨率的图片放在mipmap-xxhdpi(drawable-xxhdpi)或者mipmap-xxxhdpi(drawable-xxxhdpi).

    原因:

    1.一张图片占用内存超过200M是很少见的,一张4208x3120的高质量图片才占用50M内存(4208X3120X4),APP内占内存最大的也就只有启动页或引导页,UI设计师一般也是按1280X720来设计,所以引起OOM很大一部分原因是图片资源位置放置不规范引起的。

    如:把高质量图片放置在mipmap-ldpi文件夹下。

    为什么把高质量图片放置在mipmap-ldpi文件夹下会引起OOM呢?这得从APP加载图片资源的顺序来分析。

    1.APP加载图片会根据手机分辨率从相应的文件夹下寻找指定的图片。

    dpi范围   密度
    0dpi ~ 120dpi   ldpi
    120dpi ~ 160dpi   mdpi
    160dpi ~ 240dpi   hdpi
    240dpi ~ 320dpi   xhdpi
    320dpi ~ 480dpi   xxhdpi
    480dpi ~ 640dpi   xxxhdpi

    比如我的手机是1080X1920,手机像素密度为400dpi,

    \sqrt[]{}\sqrt[2]{1080^{2}\dotplus 1920^{2} }

    所以会首先去mipmap-xxhdpi去加载图片资源,如果找不到就去更高级别目录加载(xxxhdpi),如果xxxhdpi目录也没有图片资源,就往下一级目录查找(xhdpi)。

    那不按要求放置图片为什么会引起oom呢,这就是要说的重点了。

    先上一张图:

    图片资源放置的为不正确,上面说了,系统加载图片时,会按照屏幕分辨率去指定的目录加载图片资源,找不到才会去其他目录找,如果在其他目录找到图片资源,系统就会加载该资源,但加载前系统会对图片进行处理(因为不是从相应目录下加载的图片资源,系统加载时会对图片处理以到达需要的分辨率)。

    如:我手机分辨率是1080X1920,但是系统没有在xxhdpi目录下加载到需要的图片资源,而是在hdpi文件夹下找到了图片资源,图片可以被正常加载。但是hdpi放的是1.5倍的图,xxhdpi放的是3倍图。1080X1920的手机从hdpi加载的图片就会被系统放大2倍后加载到内存里,比如原图片是28X28,放入mipmap-hdpi的文件夹下,加载到内存中就会变成56X56.

     

    展开全文
  • 其实就是压缩大图容量大小的过程,而在这个过程中尽量不降低图片的清晰度,把图片压缩到较小的容量,就是下面要简单讲的两点内容。 现在手机分辨率比较高,有点容量动不动就大道6M左右,而上传图片的并没有这种...
  • android的照相功能随着手机硬件... 压缩图片,就是把大图片压缩小,降低图片的质量,在一定范围内,降低图片的大小,并且满足需求(图片仍就清晰)。下面组要是介绍图片的压缩: 1. 照相请查看//www.jb51.net/article/
  • 一、背景 最近做项目需要用到选择图片上传,类似于微信、微博那样的图片选择器,ContentResolver读取本地图片资源并用RecyclerView+Glide加载图片显示...把图片分辨率降低至1366*960,大小压缩至150k以下,并且在View
  • 这里因为博主的数据库照片是手机拍的,一张照片的分辨率非常大, 不便于处理,这里首先把每个人脸降低分辨率 import os from PIL import Image import glob import cv2 for people in range(0,29):#编号从0到28,
  • 例如,用Gallery显示图片时,你的手机屏幕分辨率有时会低于你手机摄像头所拍摄图片的清晰度。 手机的工作内存是有限制的,为降低内存使用,理想状态下你会只想加载一个低清晰度的图片。这个低清晰度图片应该和要...
  • 在社交网络上,每天都有难以计数的图片被人们分享、存储。但有一个现实的问题是,大量的照片由于网络限制被人为压缩降低了画质。 而Apple在2010年的iPhone 4S推出了“视网膜”的概念后,各大手机商...将低分辨率图片...
  • Rapid and Accurate Image ...问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机、平板或网络限制下被人为压缩,降低了画质。  如今高分辨率显示屏幕正在家庭和移动设备上普及,因此,把低分辨率图片转化...
  • 我自己使用的APP开发工具,Lae软件开发平台,具有跨平台、所见即所得、自适应分辨率、机制简单、手机真机预览等功能,自己觉得挺好的,也很容易上手,用这个软件可以大幅降低你开发APP软件的门槛,减小你的队伍负担...
  • Google发布新的图像压缩技术,最高可节省75%带宽在社交网络上,每天都有难以计数的图片被人们分享、存储。但有一个现实的问题是,大量的照片由于网络限制被人为压缩降低了画质。而Apple在2010年的iPhone 4S推出了...
  • (3)自带WIFI,支持手机APP或云端控制屏幕,完成数据交互、图片菜单在线更新、固件远程升级。其彻底将用户控制和显示部分分离出来,用户无需更改自己的硬件平台和核心控制代码,只需在原来的代码基础上增加串口发送...
  • 3.上传文件增设“手机相册”选项,图片上传时预览、选择本地相册快速便捷;4.全屏模式优化,支持全屏模式下自定义显示顶栏、底栏或工具栏;5.自由复制增添选择光标,轻松调整复制范围;6.分享功能升级:可方便的将页面、...
  • 关键词:嵌入式系统 驱动程序 快速捕捉 摄像头随着嵌入式处理器的普及和硬件成本的不断降低,具有拍照和摄像功能的手机逐步走进了人们的生活。但由于嵌入式处理器的速度有限,在处理图形和多媒体数据方面显得...
  • 用python处理世界时钟坐标

    千次阅读 2012-07-27 20:58:05
    我们客户为了降低成本,经常换屏,但我们代码里小屏幕分辨率没有这个应用,需要修改。 图片缩放一下,代码里坐标也要跟着缩放。 我们代码是C语言的,坐标是这样的: {{13,61}, {13 ,65}, {17 ,62}, {17 ,50}, ...
  • 亿联网目前已完美实现了三站合一功能,无论是PC(电脑端)、手机、平板(移动端)还是微信,只需要一个后台就能操作三种平台数据,网站中所有的数据图片都可以同步各个平台。 亿联网云建站平台代理系统源码功能特色...
  • Symbian系统

    2011-10-25 09:47:59
    该操作系统软件对运行环境要求较高,目前运行在由英国芯片开发商ARM提供的快速处理器芯片,并且需要相关设计与其它工具的支持来帮助手机生产商在开发其它版本时能够节约时间和降低成本。该软件可以处理200万像素的...
  • 鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...
  • 讨论组电脑QQ和手机QQ信息互通,语音、文字、图片顺畅接收,体验流畅。 性能及稳定性提升 通过对基础架构和框架的改造,对关键功能的深度优化,不断提升QQ性能与稳定性。 群视频画质清晰玩法丰富 QQ群视频全面...
  • 开发计划

    2021-01-02 11:36:59
    </li><li>[ ] 多机同时控制的功能</li><li>[ ] 可调节显示分辨率、每秒传输图片数</li><li>[ ] 尝试支持下h264</li><li>[ ] 提供设备的预约功能(当设备空闲是占用10分钟,并使用及时通信工具通知用户&#...
  • 公司年会大屏幕抽奖

    2018-09-25 15:06:14
    更新:优化了3d签到的效果,减少屏幕分辨率对效果的影响 2017.5.5 更新:开场界面更新 更新:视屏背景主题的视频更新 更新:简化默认自定义主题的界面,使用更方便简洁 更新:修复一个拔河的默认没有自动安装上的问题 ...
  • 内置自动修正功能,磨去瑕疵,降低噪音或去除红眼,让照片快速变成珍贵的节日记忆!多种自动功能卸去您肩上的重担,集成的自动批处理一次性快速美化所有照片。 创建拼贴画、日历及贺卡 内置大量模板,轻松创建贺卡...
  • 高清晰视频高清晰的视频图像,640*480的大分辨率显示,让视频通话身临其境,更支持全屏显示,满足视频会议的特殊要求。 (根据客户需求定制) 6、个人备忘录 提供完善的网络个人备忘录。并且有定时、周期性提醒功能...
  • 当然,通常这些地方都会提供贴心的登录信息记忆功能来方便您的使用,可您有没有想过,万一不慎遗失了手机那捡到它的并怀有恶意的人也会因此而轻松使用本来只属于您的东西呢?另外,不同的地方对用户名和密码的长度、...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

手机降低图片分辨率