久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

利用HTML5 Canvas做在線圖像處理

HTML 5中的 canvas 元素是相當強大的,利用他的 getImageData 方法可以對載入的圖像直接進行位圖操作。但是直接對位圖進行操作比較麻煩,如果利用卷積矩陣這個工具的話,可以通過幾個簡單的參數實現復雜的效果。

所謂的矩陣的卷積,就是如下圖顯示的那樣,當計算紅色框中的數值的時候,分別先提取周圍綠框中8個數字,然后與施加的那個矩陣中對應位置相乘,然后把各個乘積加在一起,就得到了最終的值了。

convolution calculate 利用HTML5 Canvas做在線圖像處理

比如上圖中的42是這么來的:

  (40*0)+(42*1)+(46*0) 
+ (46*0)+(50*0)+(55*0) 
+ (52*0)+(56*0)+(58*0) 
= 42

這就是卷積了。然后,所謂的對圖像的卷積操作,就是指對圖像上的每一點的像素值,用這個矩陣進行運算,得到一個新的值。

比如下面這張圖

image 利用HTML5 Canvas做在線圖像處理

利用下面這個矩陣 
-6 -3 0 
-3 -1 3 
0 3 6 
就立刻能夠得到浮雕效果。

image emboss 利用HTML5 Canvas做在線圖像處理

然后為了使用更方便,通常還會給最終值除以一個系數以及加上一個偏移。 
比如下面這個矩陣。 
0 0 0 
0 1 0 
0 0 0 
這個矩陣(實際上這個矩陣本身不對圖像進行任何操作),然后設置系數為-1,偏移為255的話,就能實現反色效果了,真是相當的神奇。

image inverse 利用HTML5 Canvas做在線圖像處理

為了簡化操作,我寫了個簡單的函數來對圖像數據進行操作。 
函數第一個參數是 canvas上的 imageData 對象 
第二個參數是傳入矩陣所對應的數組,如果是下面這樣的矩陣 
a b c 
d e f 
g h i 
則傳入第二個的參數應為 [a,b,c,d,e,f,g,h,i] 
第三個參數是除數因子。 
第四個參數就是偏移量。

// 計算卷積矩陣的函數
function ConvolutionMatrix(input, matrix, divisor, offset){
    // 創建一個輸出的 imageData 對象
    var output = document.createElement("canvas")
                         .getContext('2d').createImageData(input);
    var w = input.width, h = input.height;
    var iD = input.data, oD = output.data;
    var m = matrix;
    // 對除了邊緣的點之外的內部點的 RGB 進行操作,透明度在最后都設為 255
    for (var y = 1; y < h-1; y += 1) {
        for (var x = 1; x < w-1; x += 1) {
            for (var c = 0; c < 3; c += 1) {
                var i = (y*w + x)*4 + c;
                oD[i] = offset
                    +(m[0]*iD[i-w*4-4] + m[1]*iD[i-w*4] + m[2]*iD[i-w*4+4]
                    + m[3]*iD[i-4]     + m[4]*iD[i]     + m[5]*iD[i+4]
                    + m[6]*iD[i+w*4-4] + m[7]*iD[i+w*4] + m[8]*iD[i+w*4+4])
                    / divisor;
            oD[(y*w + x)*4 + 3] = 255; // 設置透明度
    return output;

我這里只寫了個3階的卷積矩陣。如果覺得不夠high還可以自己實現一個5階的。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了有關HTML5頁面在iPhoneX適配問題,需要的朋友可以參考下
本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Adobe公司出品的多媒體處理軟件產品線較多,涵蓋了音視頻編輯、圖像處理、平面設計、影視后期等領域。這篇文章主要介紹了Adobe Html5 Extension開發初體驗圖文教程,非常不錯,需要的朋
這篇文章主要介紹了基于HTML5的WebGL經典3D虛擬機房漫游動畫,需要的朋友可以參考下
這篇文章主要介紹了手機端用rem+scss做適配的詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas 實現 github404動態效果的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: 国产精品久久av | 成人在线视频一区 | 成人国产精品久久 | 一区二区三区四区不卡视频 | 欧美一区二区视频 | 久久久精 | 亚洲精品成人在线 | 操久久 | 欧美mv日韩mv国产网站91进入 | 亚洲免费在线观看 | 久久久黑人 | 亚洲免费观看视频 | 中文字幕第一页在线 | 成人免费共享视频 | 1204国产成人精品视频 | 成人av一区二区三区 | 日韩一区二区在线视频 | 国产亚洲精品精品国产亚洲综合 | 女女百合av大片一区二区三区九县 | 最新国产视频 | 国产视频1区2区 | 欧美一区二区三区视频在线观看 | 高清视频一区二区三区 | 久久亚洲国产 | 成人视屏在线观看 | 成人国内精品久久久久一区 | 国产免费观看久久黄av片涩av | 国产一级免费视频 | 日韩精品成人免费观看视频 | 成人精品在线视频 | av看看| 久久99国产精品 | 国产亚洲一区二区精品 | 天天爱爱网 | 日韩精品一区中文字幕 | 久久精品亚洲国产奇米99 | 欧美中文字幕在线 | 日韩午夜在线观看 | 男女黄网站 | 免费在线看黄视频 | 国产精品久久久久久久久久免费 |