轉變為灰度影象的演算法優化及馬賽克實現程式碼
彩色影象轉為灰度影象:
1.三個顏色通道畫素值加和取均值(B+G+R)/3;
2.三個通道按照公式:r*0.299+g*0.587+b*0.114
計算效率:定點大於浮點,+- > */,移位(左移<<為乘,右移>>為除)大於乘除,所以演算法優化如下圖:
注:浮點型轉成整型會存在誤差,右圖為實現馬賽克效果的影象(原理就是馬賽克區域分成n個矩形框,每個框的所有畫素都用該框區域的一個畫素值代替)
相關推薦
轉變為灰度影象的演算法優化及馬賽克實現程式碼
彩色影象轉為灰度影象: 1.三個顏色通道畫素值加和取均值(B+G+R)/3; 2.三個通道按照公式:r*0.299+g*0.587+b*0.114 計算效率:定點大於浮點,+- > */,移位(左移<<為乘,右移>>為除)大於乘除,所以演
BMP--24位真彩色轉換為灰度影象
以下文字內容來自http://zhidao.baidu.com/question/152910968.html中的部分內容 把RGB值轉換為灰度值的公式: Gray := Trunc(0.3 * Red + 0.59 * Green
-01-RGB彩色影象轉換為灰度影象【ARM NEON加速】
1. NEON簡介 NEON官方的簡介網址:NEON NEON的主要特點就是single instruction, multiple data(SIMD),擁有專用的ALU和暫存器(d0-d32,q0-q16),基於這種結構很容易實現資料的平行計算,尤其是數學中的向量計算、音訊中雙聲道資料處理、影象中RG
利用OpenCV的imread將RGB影象轉化為灰度影象!
通常,我們是利用cvtColor將影象轉化為灰度圖,但實際上在讀取影象的時候便可以將影象轉化為灰度圖, 很簡單的操作,只需要將imread的第二個引數置為0即可 如下面的程式碼: cv::Mat srcImage = cv::imread("lakeWater.jpg"
彩色影象批量轉換為灰度影象
最近在做haar分類器的訓練,要用到大量的正負樣本,在網上找了一些,有一份樣本集除了它是彩色影象外還算滿意,為了後期訓練時間能夠縮短一點,決定把它們都轉換成灰度影象! 說幹就幹,一幅影象的轉換很簡單了,但是批量轉換就稍微複雜了一丟丟,在網上找了下沒
BYTE[]陣列轉化為灰度影象CBitimage顯示到mfc視窗中(opencv結果在mfc中的顯示)
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO // THE IMPLIED
彩色影象轉換為灰度影象
方法一: 對於彩色轉灰度,有一個很著名的心理學公式: Gray = R*0.299 + G*0.587 + B*0.114 方法二: 而實際應用時,希望避免低速的浮點運算,所以需要整數演算法
基於FPGA的RGB影象轉灰度影象演算法實現
一、前言 最近學習牟新剛編著《基於FPGA的數字影象處理原理及應用》的第六章直方圖操作,由於需要將捕獲的影象轉換為灰度影象,因此在之前程式碼的基礎上加入了RGB影象轉灰度影象的演算法實現。
灰度影象二值化-----c++實現
前天閒著沒事幹,就寫了寫BMP影象處理,感覺大家還比較感興趣。。所以現在沒事,繼續更新。。這次簡單的寫了灰度影象二值化。。這是什麼概念呢? 影象的二值化的基本原理 影象的二值化處理就是將影象上的點的灰度置為0或255,也就是講整個影象呈現出明顯的黑白效果。即將256個
60701BMP彩色影象轉化為灰度及二值影象
1 概述 多媒體技術是一門綜合了多種學科的新技術,其涉及到電腦科學與技術、通訊和網路技術、人工智慧技術、微電子技術、數字訊號處理、圖形處 理技術、聲像技術等諸多學科。許多新技術的不斷出現和體驗,帶給人們工作和生活巨大的改變。其應用已經滲透到社會生活和工作的各個方面。 1.1背景
SSE影象演算法優化系列二十三: 基於value-and-criterion structure 系列濾波器(如Kuwahara,MLV,MCV濾波器)的優化。 SSE影象演算法優化系列十四:區域性均方差及區域性平方差演算法的優化 SSE影象演算法優化系列七:基於SSE實現的極速的矩形核腐蝕和膨脹(
基於value-and-criterion structure方式的實現的濾波器在原理上其實比較簡單,感覺下面論文中得一段話已經描述的比較清晰了,直接貼英文吧,感覺翻譯過來反而失去了原始的韻味了。 T
灰度影象形狀的識別分類演算法實現matlab
摘 要: 針對已經給出的影象,在分類之前,因為存在噪聲和光照的不同,所以要先進行影象增強,並統一將影象轉為二值影象。對影象進行邊緣檢測,可以很容易算出各個影象面積與周長二次方的比值關係,對影象進行直線檢測, 可以獲得影象中直線的特徵,結合影象的以上兩種特種對形狀進行分
利用k-means演算法對灰度影象分割
本文主要利用k-means來對灰度影象進行分割。首先對k-means進行簡單的介紹,然後直接上程式碼。那麼什麼是k-means演算法?K-means演算法是硬聚類演算法,是典型的基於原型的目標函式聚類方法的代表,它是資料點到原型的某種距離作為優化的目標函式,利用函式求極值的方法得到迭代運算的調整規則
基於FPGA灰度影象的膨脹演算法的實現
基於FPGA灰度影象的膨脹演算法的實現1 背景知識 腐蝕與膨脹是形態學濾波的兩個基本運算,通過腐蝕和膨脹兩種運算可以實現多種功能,主要如下:(1) 消除噪聲;(2)分割出獨立的影象元素;(3)在影象中連線相鄰的元素;(4)尋找影象中明顯的極大值和極小值區域;(5)求出影
灰度影象閾值化分割常見方法總結及VC實現
在影象處理領域,二值影象運算量小,並且能夠體現影象的關鍵特徵,因此被廣泛使用。將灰度影象變為二值影象的常用方法是選定閾值,然後將待處理影象的每個畫素點進行單點處理,即將其灰度值與所設定的門限進行比對,從而得到二值化的黑白圖。這樣一種方式因為其直觀性以及易於實現,
將影象RGB值轉換為灰度值的四個方法
前言 影象從RGB值轉灰度值非常重要,下面介紹四個方法. 1.opencv中的cv2.imread()方法 import cv2 img0 = cv2.imread('image0.jpg', 0) cv2.imshow('image',img0)
Android平臺-彩色RGB影象灰度化-neon優化例項解析
影象的灰度化公式比較簡單。 Y = (R * 77 + G * 151 + B * 28 ) / 256 傳統的C語言一次處理一個畫素點,neon指令可以一次處理8個畫素點,下面看看neon優化後的加速效果。 在Android NDK Samples 中有一個hello
Matlab之索引影象轉化為灰度圖和真彩圖
本篇只講應用不講原理 在進行數字影象處理時,需要將影象轉換成灰度圖。如truecolor轉化為灰度圖,可用函式rgb2gray即可實現,語法也比較簡單。如下: grayImage=rgb2gray(srcImage); 載入完圖片後可使用imfinfo()函式檢視影象資
灰度影象--影象分割 區域分割之分水嶺演算法
學習DIP第60天 轉載請標明本文出處: ,出於尊重文章作者的勞動,轉載請標明出處!文章程式碼已託管,歡迎共同開發: 更多影象處理機器學習內容請訪問最新網站www.face2ai.com #開篇廢話 今天已經是第60篇部落格了,這六十篇每一篇平均要兩天左右,所
【查蟲日誌】快速判斷一副灰度影象中是否只有黑色和白色值(即是否為二值影象)過程中bool變數的是是非非。
二值影象我們在影象處理過程中是經常遇到的,有的時候我們在進行一個演算法處理前,需要判斷下一副影象的資料是否符合二值圖的需求,這個時候我們可以寫個簡單的函式來做個判斷,比如我寫了一個很簡單的的程式碼如下: bool IM_IsBinaryImage_C(unsigned char *Src, int