精华内容
下载资源
问答
  • 三种图片压缩方案效率比较

    千次阅读 2019-01-07 11:49:39
    目前找到三种图片压缩方案 thumbnailator-0.4.8 100%java实现,无其余依赖。但版本太老,最新版本0.4.8于2014年发布 imageMagick-6.9.3 linux上的一个图片处理软件的命令行工具,功能强大 ffmpeg...

    目前找到三种图片压缩方案

    • thumbnailator-0.4.8

      100%java实现,无其余依赖。但版本太老,最新版本0.4.8于2014年发布

    • imageMagick-6.9.3

      linux上的一个图片处理软件的命令行工具,功能强大

    • ffmpeg-3.4.2-2+b1

      开源的音视频处理方案,可以处理图片

    此次使用java来编码,除thumbnailator外使用exec命令行方式调用

    本次所有处理方案均为75%压缩比率,去除额外信息(ffmpeg除外),分辨率大小不做处理,运行次数10次

    所涉及命令概览

    • imageMagick

      convert -strip -quality 75% in.jpg out.jpg

    • ffmpeg

      ffmpeg -hide_banner -i in.jpg out.jpg

    处理7.7MB,分辨率4570x1984的jpg图片

    方案大小最短(毫秒)最久平均
    thumber723.6KB8881052947
    imageMagick968.6KB305398318
    ffmpeg491.9KB365337282

    处理613.3k,分辨率2000x1052的jpg图片

    方案大小最短(毫秒)最久平均
    thumber170.5KB159348193
    imageMagick179.5KB5410161
    ffmpeg89.2KB7211379

    处理来自android相机的4.5MB,分辨率4160x3120的jpg图片

    方案大小最短(毫秒)最久平均
    thumber1.5MB99812061048
    imageMagick1.6MB285744345
    ffmpeg618.4KB188367221

    处理10.6MB,分辨率4570x1984的png图片

    png图片似乎需要换命令才行,或者预先转换成jpeg格式

    方案大小耗时(毫秒)
    thumber15.6MB3348
    imageMagick10.6MB5329
    ffmpeg16.6MB1769

    处理2.6MB,分辨率2000x1052的png图片

    png图片似乎需要换命令才行,或者预先转换成jpeg格式

    方案大小耗时(毫秒)
    thumber3.5MB828
    imageMagick2.6MB1193
    ffmpeg3.5MB372

    ##解决png图片问题,使用三种方案进行png转jpg

    处理2.6MB,分辨率2000x1052的png图片

    使用命令

    • imageMagick

      convert in.png out.jpg

    • ffmpe

      ffmpeg -v quiet -i in.png out.jpg

    方案大小最短(毫秒)最久平均
    thumber203.6KB161396208
    imageMagick606KB95119102
    ffmpeg119.1KB145172152

    实验数据在不同机器,不同时间用一定的波动性,属正常情况

    结论:总体来看,ffmpeg表现最好。但是有一个问题——必须使用现有图片,无法直接使用流。考虑到图片上传到本地临时文件的时间代价,该方案依然有待商榷

    展开全文
  • Android界面控件难点精讲

    万人学习 2016-05-26 10:35:48
    Android控件开发教程,在Android开发中,有时用到一些常见的控件可以更轻松实现一些效果,比如如果要实现图片轮播效果,我们可以使用动画的方式实现,但是代码比较繁琐,而此时,我们采用ViewFlipper控件即可非常...
  • 读取文件夹下所有图片,把像素点分别按r\g\b通道读出来处理,不知道为什么读图很慢,一百多张图等好一会,有没有什么优化代码的建议? ``` import sys import os import time import random import numpy as np...
  • 前一段在做一个功能的时候必须加载外部多张连续的图片,来实现一个简单的小动画。...我们在使用unity的UGUI中的图片的时候,绝大多数人都是使用Image这个组件,而大家基本上很容易忽略掉这个组件的使用效率问题,因为都

    前一段在做一个功能的时候必须加载外部多张连续的图片,来实现一个简单的小动画。本来是一个非常简单的功能,不用两分钟就写好了。但是最终打成apk测试的时候有个非常大的问题就是非常卡,图片播放卡的简直不忍直视,后来去看unity的官方文档,发现了一个非常好用的方法。
    我们在使用unity的UGUI中的图片的时候,绝大多数人都是使用Image这个组件,而大家基本上很容易忽略掉这个组件的使用效率问题,因为都是在unity创建好的sprite直接赋值所以 看不出来有什么问题,但是如果你是直接动态加载外部的或者下载的图片你就会发现加载的时候特别卡,特别是越大,越不规则的图片更是耗时。但是还有个被大家忽略的组件就是RawImage,这个组件可以说是Image的简化版,它的功能虽然少很多但是几个基本的功能都在,最主要的是它可以直接赋值texture图片,这里大家可以不是很清楚,所以没有什么比直接写代码更直接的方式了:

        public void ImageAssignment()  //Image组件赋值方法
        {
            var path = Application.streamingAssetsPath + "/icon.png"; //外部图片地址
            var tex = ResLoader.DownloadSync(path).texture; //使用www加载外部图片(这个方法是自己写的, 不会的话自己上网百度下)
            var sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
            ImageObject.sprite = sprite;
        }
    
        public void RawImageAssignment()  //RawImage组件赋值方法
        {
            var path = Application.streamingAssetsPath + "/icon.png"; //外部图片地址
            var tex = ResLoader.DownloadSync(path).texture; //使用www加载外部图片(这个方法是自己写的, 不会的话自己上网百度下)
            RawImageObject.texture = tex;
        }

    有什么发现么?使用RawImage加载外部图片是不是直接少了一行代码,然道仅仅只是一行代码那么简单么?接下来,我再给大家看一下我做的几个加载时间的对比:
    1、512*512图片两种方式 赋值100次的对比
    image.png
    2、1024*512图片两种方式 赋值100次的对比
    image.png
    3/1112*900图片两种方式 赋值100次的对比
    image.png
    看了这些数据 你会发现我说的 提高百倍以上的效率真的是一点都不夸张啊。
    这里可以看到使用RawImage 不管加载什么分辨率的图片 效率都是基本 差不多快到可以忽略不计,而使用Image却是会因为图片的分辨率大受影响。主要的原因就是在创建sprite这一步特别耗时,而且图片越大、越不规则就会越耗时。所以你应该知道怎么做了吧!
    最后贴上代码 供大家参考,互相学习

    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;
    using Babybus.Uno;
    
    public class TestImageLoad : MonoBehaviour
    {
        public Image ImageObject;
    
        public RawImage RawImageObject;
    
        public void OnClickImageButton() //Image组件赋值方法
        {
            var path = Application.streamingAssetsPath + "/icon.png";//外部图片地址
            var tex = ResLoader.DownloadSync(path).texture;//使用www加载外部图片(这个方法是自己写的, 不会的话自己上网百度下)
            var time = Time.realtimeSinceStartup;
            for (var i = 0; i < 100; i++)
            {        
                var sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
                ImageObject.sprite = sprite;
            }
            Debug.Log("Image赋值100次使用时间: " + (Time.realtimeSinceStartup-time));
        }
    
    
        public void OnClickRawImageButton()//RawImage组件赋值方法
        {
            var path = Application.streamingAssetsPath + "/icon.png";//外部图片地址
            var tex = ResLoader.DownloadSync(path).texture;//使用www加载外部图片(这个方法是自己写的, 不会的话自己上网百度下)
            var time = Time.realtimeSinceStartup;
            for (var i = 0; i < 100; i++)
                RawImageObject.texture = tex;
            Debug.Log("RawImage赋值100次使用时间: " + (Time.realtimeSinceStartup - time));
        }
    
    }
    using System;
    using System.Collections;
    using UnityEngine;
    
    namespace Babybus.Uno
    {
        public static class ResLoader
        {
            public static WWW DownloadSync(string path, WWWForm form = null)
            {
                WWW www;
                if (form != null)
                    www = new WWW(path.ToWWWUrl(), form);
                else
                    www = new WWW(path.ToWWWUrl());
    
                YieldToStop(www);
    
                return www;
            }
    
            private static void YieldToStop(WWW www)
            {
                var @enum = DownloadEnumerator(www);
                while (@enum.MoveNext()) ;
            }
    
            private static IEnumerator DownloadEnumerator(WWW www)
            {
                while (!www.isDone) ;
    
                yield return www;
            }
        }
    }
    展开全文
  • java--获取图片效率差异

    千次阅读 2014-05-14 18:07:13
    public static void ...可见第一中获取图片信息效率明显高于第二种。 看了下源码第一种方法只适用于简单的操作。 而第二种适用的范围比较广,在ImageIO源码中也适用了ImageReader。 参考: ...
    	public static void compare() throws Exception{
    		long start1 = System.currentTimeMillis();
    		for (int i = 0; i < 5000; i++) {
    
    			Iterator readers = ImageIO.getImageReadersByFormatName("png");
    			ImageReader reader = (ImageReader) readers.next();
    			File file = new File("d://1.png");
    			ImageInputStream input = ImageIO.createImageInputStream(file);
    			reader.setInput(input, true);
    			int width = reader.getWidth(0);
    			int height = reader.getHeight(0);
    			//System.out.println(width + "/" + height);
    		}
    
    		long end1 = System.currentTimeMillis();
    
    		System.out.println(end1 - start1);
    		long start2 = System.currentTimeMillis();
    		for (int i = 0; i < 5000; i++) {
    			File file = new File("d://1.png");
    			BufferedImage bi = ImageIO.read(file);
    			int width = bi.getWidth();
    			int height = bi.getHeight();
    			//System.out.println(width + "/" + height);
    		}
    
    		long end2 = System.currentTimeMillis();
    		System.out.println(end2 - start2);
    	}

    运行结果

    390
    3192

    可见第一中获取图片信息效率明显高于第二种。


    看了下源码第一种方法只适用于简单的操作。

    而第二种适用的范围比较广,在ImageIO源码中也适用了ImageReader。


    参考:http://houxiyang.com/archives/31/

    展开全文
  • 效率OCR场景文字图片合成工具发布!

    千次阅读 多人点赞 2021-04-03 10:15:21
    OCR,光学字符识别(OPTICAL ...作为计算机视觉领域的OCR识别在训练的时候当然也会需要大量的图片数据来供神经网络的学习,一般需要数以千万计的图片才能训练一个文字识别系统,才能达到识别文字的目的。但是如果采用

    OCR,光学字符识别(OPTICAL CHARACTER RECOGNITION),作为计算机视觉领域的经典问题之一
    它指对图像中的文字进行检测识别(包括文字检测+文字识别),并获取文本的结果。常见于拍照检查、文档识别、证照票据识别、车牌识别、自然场景下的文本定位识别等,相关技术在数字时代得到了广泛的应用。
    如下图是OCR识别结果:
    图片在这里插入图片描述

    作为计算机视觉领域的OCR识别在训练的时候当然也会需要大量的图片数据来供神经网络的学习,一般需要数以千万计的图片才能训练一个文字识别系统,才能达到识别文字的目的。但是如果采用人工标注会浪费大量的人力财力,导致入不敷出。本文接下来介绍一种能够根据场景生成大量的文字图片的工具。

    展开全文
  • Qt图片显示效率的比较

    万次阅读 2012-09-25 13:13:59
    在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能看到图片,初步发现有两种方法。 一、QImage转QPixmap,然后用QLabel::setPixmap() image=new QImage("D:/Temp/XX.jpg"); ...
  • 很多电脑前工作者,婚纱摄影影楼的人面对一堆图片 如何快速批量提取图片信息到Excel表格中,如何批量获取图片大小尺寸信息 不知道如何如获取图片的文件路径、文件名、图片大小尺寸等很多图片信息 路径、分辨率、...
  •  通过Glide 强大的图片变换功能,我们也可以旋转图片关于Glide 的图片变换请参考:Android图片加载框架最全解析(五),Glide强大的图片变换功能,关于图片旋转请参考 :Android 效率开发之图片旋转处理,图片...
  • 转载请说明原出处,谢谢~·http://blog.csdn.net/zhuhongshu/article/details/49026605 好长时间没写duilib博客了,最近在写毕业... Duilib的图片绘制代码中有个影响性能的地方,所有的控件的图片绘制都是调用CCont
  • 卷积神经网络架构

    万次阅读 多人点赞 2018-11-20 17:14:48
    卷积神经网络在图像分类数据集上有非常突出的表现,由于一般正常的图像信息过大,如果使用全连接神经网络,需要设置大量的权值w和basic值,这样会导致运算效率较低,还容易导致过分拟合的问题。 1.全连接神经网络和...
  • 在职场办公时,常常需要处理各种Word文档,所以这就要求我们对Word知识要更加熟练,今天这里就和大家分享在word中怎样快速对齐图片,以及一些其它Word小技巧,希望可以带来帮助。 一:快速对齐图片 先选中第一张...
  • 最近有一个小项目,有这么一个需求,要把照片上传到服务器,可是现在手机照片都是几M几M的,所以必须压缩下,我百度来百度去,也问了下网友,终于,在网友的帮助下,写出来...//下面用于图片上传预览功能 function setImagePrevi
  • Bitmap图片处理的效率----BitmapData

    千次阅读 2016-06-02 17:59:17
    一、在图片处理时,如果每次都是对Bitmap的对象进行直接处理,效率不高。 二、改进: 在每次处理图像之前,对其进行lock,生成对应的BitmapData对象。  ( 注:   BitmapData类是将Bitmap里面的像素映射...
  • Java中图片文件的复制

    万次阅读 2016-05-24 13:49:33
    对于图片文件能够如此操作,由此可知其他文件也能够进行类似操作。你当然更可以在转存的过程中进行其他操作,比如说加解密,更改内容等等操作 以上就是图片的复制功能的实现。
  • Python读取图像方法及效率对比

    千次阅读 2019-03-27 10:03:14
    最近的工作中遇到了大量的图像读取(图片->array)的操作,如果每次读取的效率都快一些的话,便可以大量节约数据处理方面所耗费的时间。下面主要介绍在Python中经常使用的图像转array的方法,并进行相应的对比。 ...
  • 10个python办公黑科技,助你办公效率提高100倍

    万次阅读 多人点赞 2021-06-02 11:46:55
    ") 接着获取目录下所有文件: file_list = os.listdir(path) 最后循环遍历每一份图片,使用 imread 方法读取图片获得该图片对象,并且使用 putText 方法为该图片对象添加水印信息,水印信息参数已在注释中说明,最后...
  • 文章目录项目结构与使用教程目标检测模式...使用更多数据增强优化tips2:使用高质量相机采集,或者修改图片size获取更高清图片优化tips3:使用更高质量跟踪算法:比如deepsort ,我已经做了,后续慢慢会开源优化tips4:
  • import asyncio import aiohttp import time import random import os from lxml import etree path='F:\\wuso\\' #文件保存路径 targe_url=[] for i in range(0,200):#total 178 建立任务链接 ...
  • Android图片无损压缩

    2016-04-19 09:37:36
    Android中进行图片无损压缩,基于JNI进行的图片硬压缩,调用底层C语言实现,效率很高,压缩效率10倍,无损!!!资源下载直接按照注释进行使用,或者关注个人博客有详细介绍,如果接入有不懂的可以联系我,关键是...
  • 相似图片搜索算法介绍

    万次阅读 2017-08-21 15:16:14
    相似图片搜索算法介绍
  • 7 款 Mac 工具,提高你的效率

    万次阅读 2018-01-28 13:41:49
    从 2014 到现在,为了提升自己的效率,尝试过上百款工具,最终留下了这 7 款,如果文章中提到的工具大家感兴趣的话,后续会介绍具体使用技巧。 Evernote 印象笔记(Evernote)用 2 年了,几乎每天都在使用。支持...
  • 使用Python批量对图片进行压缩处理

    千次阅读 2018-10-01 18:15:18
    这两天在对网站服务器进行迁移的过程中发现历史积累的图片附件炒鸡多,许多都是未经压缩直接从相机里面拷出来上传的原始分辨率尺寸,相当浪费空间,而网站页面上进行图片显示其实只需要宽度能达到700px就够了,于是...
  • java实现pdf转图片

    万次阅读 2018-06-04 20:00:38
    利用Apache的pdfbox包进行操作,将pdf分成多个png图片
  • 关于WEBAPI传输JSON的效率测试

    千次阅读 2015-10-30 10:26:44
    反序列化采用Newtonsoft.Json.JsonConvert.DeserializeObject方法,期间自己找了一个通过Regex转换DataTable的方法(JsonToDataTable),发现效率和DeserializeObject比,差了100倍以上,就不测试了-_-!   测试...
  • 如果要遍历一张图片的所有像素的(比如二值化),可以用两个for循环嵌套通过Bitmap中的getPixel(x,y)方法获取对应点的像素值即可。还有一种方法是通过Bitmap中的getPixels(pixels, offset, stride, x, y, width...
  • java利用poi导出excel功能-附带图片导出 写在前面 最近刚离职,闲来无事,于是把上两家公司都有碰到过的需求但都没有去研究实现:即导出带图片的excel报表。于是就折腾了一下这个功能,研究出来后本来想写个通用的...
  • 工作中提升效率的工具

    万次阅读 2017-09-02 21:02:43
    本文主要介绍下工作中提升效率的工具: 首先是浏览器chrome/firefox,有很多有用的插件护眼模式 github octree 查看插件 收藏夹插件 免密码输入LastPass 广告屏蔽插件AdBlock 直接打开书签插件Holmes youtube视频...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 347,549
精华内容 139,019
关键字:

关于效率的图片