• R语言
  • 用R玩玩图像编辑,顺便吐槽一下~

在图像处理领域,R远没有Matlab、Python使用广泛,图像显示一般是uint8类型,而R主要使用[0,1]的double类型,在Bioc上虽然有不少图像处理相关的package,但主要和医学图像有关。R在CV领域任道重远。话说,R Core 主要是玩统计的,好像还没有玩CV的,都是司马光之流的保守派,要想改变这种现状,需要引进像王安石这样的激进改革派,至少引进像苏轼这样的改良派,应该学学Python,兼容并蓄,从不拒纳新事物,就连后生Julia也是野心勃勃。

说道Python,在机器学习上,有不少比较高端大气的项目,比如pyrallel(http://github.com/pydata/pyrallel)、Monte(http://montepython.sourceforge.net)、PyBrain(https://github.com/pybrain/pybrain/)等。R每周也诞生新的Package,总感觉没有Python系统化,况且cran每周还干掉不少package(http://planetr.stderr.org/)[s:15]。

另外,视频数据在所有数据中所占的份额又是如此之大(60%以上),大家在炒作大数据的概念时,也仅仅提提而已,鲜有具体操刀的。

吐槽完毕,说点正题[s:11]。

因太过无聊,用R实现MVC(Mean-value Coordinates)图像编辑算法,是Possion图像编辑(据说Photoshop使用的是此算法)的近似算法,论文见Coordinates for Instant Image Cloning(https://github.com/qxde01/myRproj/blob/master/MVC/www.cs.huji.ac.il/~danix/mvclone/files/mvc-final-opt.pdf)。这里并没有要求严格的轮廓边界点,仅用矩形框代替轮廓。在MVC的R代码中,异常值没有处理好,造成有斑点。

MVC算法要求背景不能太复杂,否则效果太差,如果前景背景相近,效果较好。图像编辑主要通过手动三分图实现,比如Photoshop,自动实现三分图还是比较困难的,效果还不一定好。

MVC实现代码点这里

效果图,这个图不怎么样:

回复 第1楼 的 qxde01:

是不会贴图呢,还是不会贴图呢?和正文的表述方式相比有点突兀。[s:17]

不过个人倒是很感兴趣统计软件的图像识别方面的实现与分析。

可以混合编程嘛,我理解R的目标领域是数据统计分析预测的,scope定义的很清晰具体。

回复 第3楼 的 zggjtsgzczh:我记得论坛以前是可以上传图片的,现在是不可以了还是我笨?[s:15][s:11]

回复 第1楼 的 qxde01:

吐槽有理,司马和王的类比算是说到点子上了,R的未来会怎样尚未可知。

话说CV不应该是opencv的天下吗?关键是写好接口吧?

http://code.google.com/p/r-opencv/

回复 第7楼 的 nuomin:computer vision计算机视觉

回复 第6楼 的 Ihavenothing:这个好几年没更新了,OpenCV变化很大,我试过,没编译成功,不会改[s:12]