vDSP 是IOS提供一系列加速处理算法。。在优化时可以考虑应用一二。。。

1、在项目中加入Accelerate.framework库

  点开项目属性->Build Phases->Link Binary With Libraries->+ Accelerate.framework;

2、在应用的类头文件加上引用

#include <Accelerate/Accelerate.h>

3、查找对应函数应用

   所有函数可以在该文档查找 vDSP Reference.

   以下通过对图片的叠加算法进行测试....

//无vDSP叠加算法
void NormalEx( BYTE *InputPtr, BYTE *CompositePtr, floatrat,int width,int height)
{
for(int j=;j<height;j++)
{
for(int i=;i<width;i++)
{
      InputPtr[BLUE] = ( - rat) * InputPtr[BLUE] + rat * CompositePtr[BLUE];
      InputPtr[GREEN] = ( - rat) * InputPtr[GREEN] + rat * CompositePtr[GREEN];
      InputPtr[RED] = ( - rat) * InputPtr[RED] + rat * CompositePtr[RED];
    InputPtr+=;
     CompositePtr+=;
}
}
//应用vDSP叠加算法
void NormalEx( BYTE *InputPtr, BYTE *CompositePtr, float rat,int width,int height)
{
int count=width*height;
// alloc space for our dsp arrays
float * srcAsFloat = (float*)malloc(count*sizeof(float));
float * comAsFloat = (float*)malloc(count*sizeof(float));
float inrat= - rat; for (int i=; i<; i++) {
//转成float数组
vDSP_vfltu8(InputPtr+i,,srcAsFloat,,count);
vDSP_vfltu8(CompositePtr+i,,comAsFloat,,count);
//乘法
vDSP_vsmul(srcAsFloat, , &inrat, srcAsFloat, , count);
vDSP_vsmul(comAsFloat, , &rat, comAsFloat, , count);
//相加
vDSP_vadd(srcAsFloat, , comAsFloat, , srcAsFloat, , count); // 转回byte
vDSP_vfixu8(srcAsFloat, , InputPtr+i, ,count);
} free(srcAsFloat);
free(comAsFloat);
}

4、总结

  vDSP在实际应用需要转化成float或者double型处理....对于简单的算法而已会更加耗时(如:灰度算法)

实际应用在需要批量重复简单操作的算法中会有显著提速效果............

vDSP加速的应用的更多相关文章

  1. 百度MIP移动页面加速——不只是CDN

    MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...

  2. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  3. 阿里云系列——6.给你的域名使用CDN加速(详细步骤+简单配置)

    网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 进入管理页面:https://home.console.aliyun.com/ ...

  4. Signalr系列之虚拟目录详解与应用中的CDN加速实战

    目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...

  5. docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速

    一.前言 先回顾下上一节创建docker-machine的过程,默认情况下docker toolbox中的docker-machine使用virtual box创建虚拟机,KI首次启动时创建虚拟机的过 ...

  6. [转]加速Android Studio/Gradle构建

    加速Android Studio/Gradle构建 android android studio gradle   已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多, ...

  7. 利用免费cdn加速webpack单页应用

    回顾现状 在之前的学习过程中,react单页应用经过webpack打包之后会输出大概如下的目录结构,它就是站点的所有前端组成了:   1 2 3 4 5 6 MacBook-Pro:output ba ...

  8. ffmpeg实现dxva2硬件加速

    这几天在做dxva2硬件加速,找不到什么资料,翻译了一下微软的两篇相关文档.这是第二篇,记录用ffmpeg实现dxva2. 第一篇翻译的Direct3D device manager,链接:http: ...

  9. 用CSS开启硬件加速来提高网站性能

    国外一篇文章,有点意思,转载过来,准备尝试下~ 中文地址:http://www.cnblogs.com/rubylouvre/p/3471490.html 原文地址:http://blog.teamt ...

随机推荐

  1. vue中组件的四种方法总结

    希望对大家有用 全局组件的第一种写法 html: <div id = "app"> <show></show></div> js: ...

  2. 介绍call和apply

    function add(a, b) { alert(a + b); } function sub(a, b) { alert(a - b); } add.call(sub, 1,3); //4  传 ...

  3. 团队作业1 团队展示&选题

    团队展示&选题 Coding项目地址:https://git.coding.net/wjunren/running.git 一.团队展示 1.队名:Runing Guys 2.队员: 组长:骆 ...

  4. 201521123056 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 1.2 解释E remove(int index)源代码 1.3 结合1. ...

  5. 201521123068《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 查看脑图->多态与接口 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 1.代码阅读:Child压缩包内源 ...

  6. 201521123034《java程序设计》第2周学习总结

    1. 本章学习总结 - String对象创建之后不能再进行修改,修改字符串使用Stringbuilder: - 检测字符串内容是否相同不用==,用equals的方法检测: - 使用一维数组的两个步骤: ...

  7. del命令实现全盘删除指定文件

    @echo off Rem :全盘删除指定文件 set "fileName=Normal.dotm" set "outPutPath=C:\result.txt" ...

  8. 《JAVA程序设计》第10周学习总结

    1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中fin ...

  9. java从控制台接收一个数字

    //时间:2017/7/22//作者:江骆//功能:从控制台接收一个数import java.io.*;  //引入一个IO流的包public class helloworld1{    public ...

  10. SpringMVC的数据格式化-注解驱动的属性格式化

    一.什么是注解驱动的属性格式化? --在bean的属性中设置,SpringMVC处理 方法参数绑定数据.模型数据输出时自动通过注解应用格式化的功能. 二.注解类型 1.DateTimeFormat @ ...