网上关于MapReduce的实例,到处都是WordCount或者变形,但是想做点图片处理或者视频处理的应用。于是就慢慢一点点的学习。

环境:虚拟机,ubuntu-desktop-12.04,openjdk1.7,opencv3.0

第一步,必须是安装hadoop环境,由于没有足够的机器,就装个虚拟机搞个伪分布式吧。

比如:http://www.cnblogs.com/yunkaifa/p/4470422.html

第二步,先跑个WordCount。成功之后,再分析一下源码。

比如:http://blog.csdn.net/devtao/article/details/16071869

既然要处理图片,那么就得有图像处理的工具,然而图像处理的东西c,c++比较牛逼吧。但是我已经不会C,C++了。所以还是找了opencv的javaapi。更好的是opencv自带图像处理分析的例子可以直接用。

第三步,opencv环境配置。

比如https://www.raben.com/book/export/html/3

第四步,用javaapi跑个图像分析的程序,人脸识别。

比如http://blog.csdn.net/nupt123456789/article/details/10011693

第五步,用mapreduce跑图像人脸识别。大概就是分布式 海量图片 人脸检索 系统^_^。那么问题来了,wordcount只会操作文本,图片怎么啊?搜啊搜,找到一些解决方案。

比如https://eldadlevy.wordpress.com/2011/02/05/hadoop-binary-files-processing-entroduced-by-image-duplicates-finder/

第六步,代码拼接。没有比如。

第七步,拼接的代码,成功运行起来了。但是才没几张图片(178张小图片),竟然抛出了outofmerry(虚拟机2G内存),我擦有点差。由于第五步的代码,输入图片是本地文件,所以拼接代码里有一段将hdfs的图片流保存到本地。不知道这对代码性能有没有影响。然后想着把hdfs上的图片流(SequenceFile文件)直接处理。然后就找byte[] 转Mat,比如https://community.oracle.com/thread/3686898。(这个就很无语了,试了好久都不行,突然又莫名其妙的可以,简直了)。然后再运行,刚才的内存溢出就没有了。(虽然不知道内存溢出是不是这个原因,但是总觉得不把hdfs文件保存到本地,应该是有好处的)

第八步,截图看下结果。性能什么的之后再说。第一列表示文件名,第二列表示是否有脸(也可以测脸的个数,但是opencv自带的准确度不高,真希望会做图像分析啊)。

下一步,希望能处理一下视频。

附上代码地址吧

http://download.csdn.net/detail/wzm112358/9711850

MapReduce处理“大量”图片相关推荐

  1. Hadoop生态系统图

    当下 Hadoop 已经成长为一个庞大的生态体系,只要和海量数据相关的领域,都有 Hadoop 的身影.下图是一个 Hadoop 生态系统的图谱,详细列举了在 Hadoop 这个生态系统中出现的各种数 ...

  2. Map-Reduce编程模型gif图片解释

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址 5-algorithms-widely-industry/ http://en.docsity.com/news/a ...

  3. HBase结合MapReduce批量导入

    Hbase是Hadoop生态体系配置的数据库,我们可以通过HTable api中的put方法向Hbase数据库中插入数据,但是由于put效率太低,不能批量插入大量的数据,文本将详细介绍如何通过MapR ...

  4. Hadoop学习笔记:MapReduce框架详解

    原文:http://blog.jobbole.com/84089/ 原文出处: 夏天的森林 开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手, ...

  5. mapreduce value 排序_MapReduce知识点一

    MapReduce 优缺点 MapReduce 分布式运算程序的编程框架优点:使分布式编程变得简单,高容错性,适合PB级以上的数据处理缺点: 不适合实时计算 MapReduce流程 客户端submit ...

  6. mapreduce框架详解

    开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...

  7. Hadoop平台作业参数设置关于mapreduce.job.split.metainfo.maxsize的说明

    Hadoop平台作业参数设置关于mapreduce.job.split.metainfo.maxsize的说明 1.MR程序时执行时报错:    YarnRuntimeException: java. ...

  8. MapReduce示例——WordCount(统计单词)

    MapReduce示例--WordCount(统计单词) 过程分析 统计单词,把数据中的单词分别统计出出现的次数 过程图(图片源自网络): 实现Mapper.Reducer.Driver WordCo ...

  9. 7.测试hadoop安装成功与否,并跑mapreduce实例

    hadoop2.6.5集群安装及mapreduce测试运行 http://blog.csdn.net/fanfanrenrenmi/article/details/54232184 [准备工作]在每一 ...

最新文章

  1. laravel5.8笔记一:安装与服务器环境配置
  2. 80486微型计算机的字长,80486,80586等是什么样的电脑?
  3. 嵌入式软件设计第09实验报告
  4. 新iPhone终于要去掉刘海了,但这个操作好骚啊!
  5. C++判断函数执行效率方法封装
  6. Echarts数据可视化全解
  7. fullgc多久一次正常_多久排便一次算正常?提醒:出现3种情况,可能是胃肠“生病”了...
  8. const 和 非const函数重载
  9. javascript document.cookie
  10. 蓝屏dump分析教程,附分析工具WinDbg
  11. python画图库哪个好_python常见的十种可视化图库方法展示
  12. Java学习笔记6——网络编程
  13. html 和 css 代码 总结
  14. K12教育小初高各个版本教材内的章节数据
  15. linuxoracle静默安装应答文件修改_Linux7静默安装Oracle11g教程,亲测实用有效!
  16. 2021年「博客之星」参赛博主:dnbug Blog
  17. 曾经东汉最大的天文台,现在却踪迹全无,究竟是什么原因呢?
  18. 浏览器端大屏百度地图常用控件 3D/2D 测距 地图风格 卫星地图 路况...
  19. pod一直处于ContainerCreating,查看报错信息为挂载错误MountVolume.SetUp failed for volume
  20. 【TensorFlow实战笔记】卷积神经网络CNN实战-cifar10数据集(tensorboard可视化)

热门文章

  1. 用c++实现俄罗斯方块(免费版)
  2. windows中hadoop报错org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
  3. 成年期人类大脑功能网络的重叠模块组织
  4. python画卡通_Python动画底纹matplotlib
  5. 他在自己的荣光中如此孤独,孤独地连一个敌人都没有剩下。
  6. word 的使用(七) —— 绘图工具
  7. mysql 增删改查时的错误解决方法大全
  8. JavaScript奇淫技巧:把JS编译成exe
  9. 程序员的必备网站 - 合集(找资源?看我一个就够了)
  10. php把jpg图片处理webp,将jpg压缩成webp格式的图片