2011-12-10 7 views
6

Eclipse'de willowgarage'ın daha yeni opencv kütüphanesini kullanıyorum. Ve mat değişkeni gri tonlamaya dönüştürmek istiyorum, ağda bulduğum her şeyi denedim ama onlar benim için çalışmadılar. İşte android-opencv matToBitmap/bitmapToMat kullanarak matsale dönüştürme mat'ı

kodum

package com.deneme.deneme; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ImageView; 
import org.opencv.android.Utils; 
import org.opencv.core.Mat; 
import org.opencv.imgproc.Imgproc; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
public class main extends Activity { 
/** Called when the activity is first created. */ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    ImageView img=(ImageView) findViewById(R.id.pic); 

    Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.p26); 

    Mat imgToProcess=Utils.bitmapToMat(bmp); 

    //****** 
    //right here I need to convert this imgToProcess to grayscale for future opencv processes 
    //****** 

    Bitmap bmpOut = Bitmap.createBitmap(imgToProcess.cols(), imgToProcess.rows(), Bitmap.Config.ARGB_8888); 

    Utils.matToBitmap(imgToProcess, bmpOut); 
    img.setImageBitmap(bmpOut); 
} 

}

cevap

11

senin kod bloğu aşağıdaki kodu ekleyin:

Imgproc.cvtColor(imgToProcess, imgToProcess, Imgproc.COLOR_BGR2GRAY); 
Imgproc.cvtColor(imgToProcess, imgToProcess, Imgproc.COLOR_GRAY2RGBA, 4); 

Ya kendiniz piksel erişebilirsiniz:

for(int i=0;i<imgToProcess.height();i++){ 
    for(int j=0;j<imgToProcess.width();j++){ 
     double y = 0.3 * imgToProcess.get(i, j)[0] + 0.59 * imgToProcess.get(i, j)[1] + 0.11 * imgToProcess.get(i, j)[2]; 
     imgToProcess.put(i, j, new double[]{y, y, y, 255}); 
    } 
} 
+0

Sadece o opencv unutmadığını hatırla bu ağırlıkları kullanın. Kullantıkları şey şöyledir: http://stackoverflow.com/questions/19181323/what-grayscale-conversion-algorithm-does-opencv-cvtcolor-use – Dinidiniz

İlgili konular