JsCV Core v0.2发布 & Javascript图像处理系列目录
2012-12-28 14:00 Justany_WhiteSnow 阅读(9307) 评论(13) 编辑 收藏 举报JsCV Core是一个开源的Javascript图像处理核心库,其在MIT许可下发布。
简介
本质上JsCV是旨在:用Javascript做一些Computer Vision(计算机视觉)的事情的。
众所周知,以Javascript偏弱的运算能力,其在浮点数计算上的误差,以及Array数组的性能问题,和Javascript的单线程阻塞问题,这在IE6的年代几乎是不可能的任务。
而如今,第五版Javascript和HTML5技术提供了一些可能性,TypedArray、ArrayBuffer、Canvas、Worker、WebGL等技术的出现,这使得Javascript渐渐可以脱离UI逻辑控制层面,完成一些图像处理、计算机视觉,甚至是3D技术,以前前端想也不会想的东东。
比如:
- CamanJS:http://camanjs.com/
- PaintbrushJS:https://github.com/mezzoblue/PaintbrushJS
- liuliu前辈的ccv:http://liuliu.me/ccv/js/nss/
Core模块是JsCV的图像处理核心,包含了基础类型Mat、Rect和一些常见的图像处理函数。
当然本质上目前的Core并没有太多实际用途,更多只是作为学习和研究用途。
不过,如果你想了解HTML5和Javascript 5,这可能是一个还可以的例子。
如果你想了解Javascript图像处理的原理,这也是一个简单的例子。
如果你深陷前端繁琐的逻辑与布局头昏脑胀,这也是一个很好的机会来了解Javascript的另一面魅力。
……
新年快到了,提前祝大家新年快乐,工作顺利,合家美满吧!
目录结构
src - 源文件
dst - 处理后库文件
example - 简单例子
logMaker - 源代码预处理程序
函数简介
Mat — 基础类型Mat的构造函数。
Rect — 基础类型Rect的构造函数。
imread — 通过图片读取矩阵。
imwrite — 通过矩阵输出图片。
convertScaleAbs — 将矩阵取绝对值并转成无符号8位类型。
addWeighted — 按比例叠加矩阵。
cvtColor — 颜色空间转换函数。
brightnessContrast — 亮度及对比度调节函数。
copyMakeBorder — 虚拟边缘创建函数。
blur — 均值平滑(分离滤波器版本)。
blurOld — 均值平滑(原版本)。
GaussianBlur — 高斯平滑(分离滤波器版本)。
GaussianBlurOld — 高斯平滑(原版本)。
medianBlur — 中值平滑。
bilateralFilter — 双边平滑(未完成,暂未开放)。
filter2D — 2D滤波器。可自定义内核。
separableLinearFilter — 可分离滤波器。
threshold — 阈值函数。
Sobel — Sobel算子。
Laplacian — Laplacian算子。
Scharr — Scharr算子。
remap — 重映射函数。
warpAffine — 仿射函数(存在的问题已解决)。
pyrDown — 高斯金字塔下一级。
pyrUp — 高斯金字塔上一级(和OpenCV一样,此过程非下一级的逆过程)。
dilate — 膨胀(换成分离滤波器版本,不过3x3核几乎没有变化,只有再更大的核中才有明显加速)。
erode — 腐蚀(换成分离滤波器版本,不过3x3核几乎没有变化,只有再更大的核中才有明显加速)。
原理解释系列文章
(暂时完结)
文档
作者太懒了……目前还没写……
项目地址
https://github.com/miniflycn/JsCV
PS
v0.2做了一些优化工作,着力于算法优化上,如果大家发现一些bug和优化方法请告诉我,O(∩_∩)O谢谢。