1. 程式人生 > >基於canvas的灰度影象識別

基於canvas的灰度影象識別

影象 有很多種,其中一種為灰度影象,我們需要通過灰度影象,進而進行偽彩等一系列的操作,那麼灰度影象在canvas中如何判斷那。

首先 灰度影象是怎麼產生的那 因為canvas中 每一個畫素點都是由rgba組成,當r=g=b的時候就是灰度影象了

ctx.drawImage(imgs, 0, 0,width,height);
        pixels = ctx.getImageData(0,0,width,height);
        pixeldata = pixels.data;
for(var k=0,len = pixeldata.length ;k<len;k+=4){
                    if (!((pixels.data[k] == pixels.data[k+1])&&( pixels.data[k]== pixels.data[k+ 2])&&(pixels.data[k+1]== pixels.data[k+ 2]))) {
                     
                        alert("圖片非灰度");
                        return false;
                    }
                }
只需要這幾個簡短的程式碼 ,就可以判斷出圖片是否為灰度影象了  是不是很神奇那 

歡迎大家來看我其他的關於canvas的影象處理文章,歡迎大家積極指教。

相關推薦

基於canvas影象識別

影象 有很多種,其中一種為灰度影象,我們需要通過灰度影象,進而進行偽彩等一系列的操作,那麼灰度影象在canvas中如何判斷那。 首先 灰度影象是怎麼產生的那 因為canvas中 每一個畫素點都是由rgba組成,當r=g=b的時候就是灰度影象了ctx.drawImage(im

基於FPGA影象的膨脹演算法的實現

基於FPGA灰度影象的膨脹演算法的實現1 背景知識    腐蝕與膨脹是形態學濾波的兩個基本運算,通過腐蝕和膨脹兩種運算可以實現多種功能,主要如下:(1) 消除噪聲;(2)分割出獨立的影象元素;(3)在影象中連線相鄰的元素;(4)尋找影象中明顯的極大值和極小值區域;(5)求出影

影象形狀的識別分類演算法實現matlab

摘  要: 針對已經給出的影象,在分類之前,因為存在噪聲和光照的不同,所以要先進行影象增強,並統一將影象轉為二值影象。對影象進行邊緣檢測,可以很容易算出各個影象面積與周長二次方的比值關係,對影象進行直線檢測, 可以獲得影象中直線的特徵,結合影象的以上兩種特種對形狀進行分

基於FPGA的RGB影象影象演算法實現

一、前言   最近學習牟新剛編著《基於FPGA的數字影象處理原理及應用》的第六章直方圖操作,由於需要將捕獲的影象轉換為灰度影象,因此在之前程式碼的基礎上加入了RGB影象轉灰度影象的演算法實現。                                                           

matlab求影象直方圖

灰度直方圖是關於灰度級分佈的函式,是對影象中的灰度級分佈的統計。灰度直方圖是將數字影象中的所有畫素,按照灰度值的大小,統計其出現的頻度。橫座標表示灰度值,縱座標為畫素個數,也可以採用某一灰度值的畫素數佔全影象素的百分比作為縱座標。通過matlab可以方便的繪製出灰度影象的灰度直方圖。以下為程式程

用最大方差閾值法獲取影象的最佳閾值

1.獲取灰度影象的直方圖 1 /********************************************************************************* 2 * 函式名稱: APP_CameraCalibration_GetHistogra

轉變為影象的演算法優化及馬賽克實現程式碼

彩色影象轉為灰度影象:   1.三個顏色通道畫素值加和取均值(B+G+R)/3;   2.三個通道按照公式:r*0.299+g*0.587+b*0.114   計算效率:定點大於浮點,+-  >  */,移位(左移<<為乘,右移>>為除)大於乘除,所以演

利用k-means演算法對影象分割

本文主要利用k-means來對灰度影象進行分割。首先對k-means進行簡單的介紹,然後直接上程式碼。那麼什麼是k-means演算法?K-means演算法是硬聚類演算法,是典型的基於原型的目標函式聚類方法的代表,它是資料點到原型的某種距離作為優化的目標函式,利用函式求極值的方法得到迭代運算的調整規則

二進位制影象影象、RGB影象、索引影象

二進位制影象也稱為二值影象,通常用一個二維陣列來描述,1位表示一個畫素,組成影象的畫素值非0即1,沒有中間值,通常0表示黑色,1表示白色。二進位制影象一般用來描述文字或者圖形,優點是佔用空間少,缺點是當表示人物或者風景影象時只能描述輪廓。 灰度影象也稱單色影象,通常也有一個

otsu結合OpenCV實現影象自動閾值處理

   簡單的說,這種演算法假設一副影象由前景色和背景色組成,通過統計學的方法來選取一個閾值,使得這個閾值可以將前景色和背景色儘可能的分開。 或者更準確的說是在某種判據下最優。與數理統計領域的 fisher 線性判別演算法其實是等價的。 otsu演算法中這個判據就是最大類間方差

cuda練習(一):使用cuda將rbg影象轉為影象

建立工程 使用cmake建立工程,CMakeLists.txt如下: cmake_minimum_required(VERSION 2.8) project(image_process) find_package(OpenCV REQUIRED) #會去找F

影象的卷積引數計算

      最近發現一個直接使用CNN提取手指靜脈特徵的論文,感覺論文的關鍵點就是把CNN的每層引數標明瞭。自己以前也只是知道框架,今天遇到後,完全不知道每層的數字怎麼來的。查了好久,終於明白了關於灰度影象的計算。         舉個論文中的例子,輸入影象為65*15

二值影象:B&W(黑白影象)、 Gray (影象) 、單色影象//Color(彩色影象)

二值影象(binary image),即影象上的每一個畫素只有兩種可能的取值或灰度等級狀態,人們經常用黑白、B&W、單色影象表示二值影象。 B&W黑白影象: 只有黑色和白色,不存在過渡性的灰色,它一個畫素只需要一個二進位制位就能表示出來,即0表示

二值影象影象、彩色影象

二值影象 二值影象(Binary Image),按名字來理解只有兩個值,0和1,0代表黑,1代表白,或者說0表示背景,而1表示前景。其儲存也相對簡單,每個畫素只需要1Bit就可以完整儲存資訊。如果把每個畫素看成隨機變數,一共有N個畫素,那麼二值圖有2的N次方種變化,而8位灰度

影象二值化-----c++實現

前天閒著沒事幹,就寫了寫BMP影象處理,感覺大家還比較感興趣。。所以現在沒事,繼續更新。。這次簡單的寫了灰度影象二值化。。這是什麼概念呢? 影象的二值化的基本原理    影象的二值化處理就是將影象上的點的灰度置為0或255,也就是講整個影象呈現出明顯的黑白效果。即將256個

javacv教程(三)--得到影象

import org.bytedeco.javacpp.opencv_core.Mat; import static org.bytedeco.javacpp.opencv_core.*;//定義了影象資料結構的核心庫 import static org.bytedeco.

影象的一階和二階導數程式碼實現

#include <stdio.h> #include <iostream> #include <cv.h> #include "opencv2/highgui/highgui.hpp" #include "opencv2/core/co

影象閾值化分割常見方法總結及VC實現

      在影象處理領域,二值影象運算量小,並且能夠體現影象的關鍵特徵,因此被廣泛使用。將灰度影象變為二值影象的常用方法是選定閾值,然後將待處理影象的每個畫素點進行單點處理,即將其灰度值與所設定的門限進行比對,從而得到二值化的黑白圖。這樣一種方式因為其直觀性以及易於實現,

pytorch 彩色影象影象

pytorch 彩色影象轉灰度影象 pytorch 庫 pytorch 本身具有載入cifar10等資料集的函式,但是載入的是3*200*200的張量,當碰到要使用灰度影象時,可以使用他本身的函式進行修改,以較快速的完成彩色影象轉灰度影象 pyt

影象變換到0-1的範圍

灰度影象轉化為0-1範圍 一個影象處理中的小筆記 由於在做卷積神經網路時,需要對總的訓練集的資料400張影象通過平移縮放旋轉映象對稱等方式將資料集擴大到70000張。但是在這些變換過程中,影象的灰度範圍會變得不確定,所以在得到70000張影象後,且保證在CNN網路中輸入的影象灰度範圍