2017-06-20 148 views
0

我正在研究我的論文,目前在圖像處理方面,這是我第一次在圖像處理領域,我願意學習更多這個項目的進展。我很困擾的代碼:Emgu CV ColorConversion.RGB2GRAY/BGR2GRAY

CvInvoke.CvtColor(imgRgb, imgGray, Emgu.CV.CvEnum.ColorConversion.Rgb2Gray) 

我試過使用此代碼,但它只返回作爲黑匣子在picturebox。我立即使用此行CvtColor後:

pictureBox1.Image = imgGray.ToBitmap(); 

我讀了RGB2GRAY文檔和它規定爲亮度灰度變換和我真的需要這種類型的算法在我的論文。我想使用Image<Gray, byte> gray_image = resizedImage.Convert<Gray, byte>(),但我不知道正在使用什麼類型的灰度算法。

回答

0

Neil, 儘管我不知道EmguCV和OpenCV區域在各自的網站免費提供的源代碼。我會拉一個副本,然後看。我只彈出到3.2 OpenCV的文檔和發現這一點:像添加/刪除alpha通道,扭轉信道順序,轉化成/從16位RGB空間內

** RGB↔GRAY

變換RGB顏色(R5:G6:B5或R5:G5:B5)以及從灰度到灰度的轉換:

RGB [A]到灰度:Y←0.299⋅R+0.587⋅G+0.114⋅B and

Gray to RGB [A]:R←Y,G←Y,B←Y,A←max(ChannelRange) 將RGB圖像轉換爲灰色用:

cvtColor(SRC,bwsrc,CV :: COLOR_RGB2GRAY); ** Find documentation here

道格