2015-12-16 155 views
0

我想在android中使用直方圖均衡化將相機捕獲的圖像等化。爲此,我將位圖MAT,MAT轉換爲灰度,在灰度矩陣上執行equalizeHist。 (代碼工作正常,直到這裏),然後我想圖像回RGB。我可以執行任何方法來獲得RGB中的均衡矩陣? 下面是代碼轉換(以前RGB轉換爲)灰度MAT回到RGB

public Bitmap processing(Bitmap newImage) { 
Mat rgb = new Mat (newImage.getHeight(), 
newImage.getWidth(), CvType.CV_8U, new Scalar(4)); 
Mat gry = new Mat (newImage.getHeight(),newImage.getWidth(), 
CvType.CV_8U, new Scalar(4)); 
       Utils.bitmapToMat(newImage, rgb); 
       Imgproc.cvtColor(rgb, gry, Imgproc.COLOR_RGB2GRAY); 
       //Imgproc.equalizeHist(gry, gry); 
       Imgproc.cvtColor(gry, rgb, Imgproc.COLOR_GRAY2RGBA); 
       Utils.matToBitmap(rgb, newImage); 
      return newImage; 
      } 
+0

不知道這是否是http://stackoverflow.com的副本/ questions/21833683/how-to-convert-grayscale-image-to-rgb-with-full-colors?rq = 1 –

+0

你可以對每個通道使用equalizeHist(r,g,b) - 那麼你不需要必須在黑白圖像上做,但在你的彩色圖像上 –

+0

你是怎麼做到的? @martin –

回答

1

可以split,使一些治療和merge顏色通道。

請注意,結果可能看起來很奇怪。可能你會嘗試將RGB轉換爲其他顏色模型(如HSL),均衡亮度(此處爲L)通道並將其轉換回RGB

+0

就像你說的,我將rgb轉換爲YCBCR並對Y通道進行均衡處理,但結果不會使圖片看起來更好。 我的目標是將拍攝的圖像與其他圖像疊加,然後對圖像執行均衡處理,使其看起來像一個 –

+0

均衡如何與圖像的相似性相關? – MBo

+0

它將圖像均衡爲一個平衡的顏色,有沒有其他更好的方法來實現這個目標? 順便說一句,我執行HSV均衡 謝謝你的想法 –