JsCV Core v0.2發布 & Javascript圖像處理系列目錄


JsCV Core是一個開源的Javascript圖像處理核心庫,其在MIT許可下發布。

 

簡介

本質上JsCV是旨在:用Javascript做一些Computer Vision(計算機視覺)的事情的。

眾所周知,以Javascript偏弱的運算能力,其在浮點數計算上的誤差,以及Array數組的性能問題,和Javascript的單線程阻塞問題,這在IE6的年代幾乎是不可能的任務。

而如今,第五版Javascript和HTML5技術提供了一些可能性,TypedArray、ArrayBuffer、Canvas、Worker、WebGL等技術的出現,這使得Javascript漸漸可以脫離UI邏輯控制層面,完成一些圖像處理、計算機視覺,甚至是3D技術,以前前端想也不會想的東東。

比如:

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核幾乎沒有變化,只有再更大的核中才有明顯加速

 

原理解釋系列文章

Javascript圖像處理

Javascript圖像處理——矩陣基本方法

Javascript圖像處理——虛擬邊緣

Javascript圖像處理——平滑處理

Javascript圖像處理——亮度對比度

Javascript圖像處理——閾值

Javascript圖像處理——圖像形態學

Javascript圖像處理——邊緣梯度計算

Javascript圖像處理——圖像金字塔

Javascript圖像處理——仿射變換

(暫時完結)

 

文檔

作者太懶了……目前還沒寫……

 

項目地址

https://github.com/miniflycn/JsCV

 

PS

v0.2做了一些優化工作,着力於算法優化上,如果大家發現一些bug和優化方法請告訴我,O(∩_∩)O謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM