作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Eclipse 中使用更新的 willowgarage opencv 库。我想将 mat 变量转换为灰度,我已经尝试了我在网上找到的所有内容,但它们对我不起作用。
这是我的代码
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);
}
最佳答案
在您的代码块中添加以下代码:
Imgproc.cvtColor(imgToProcess, imgToProcess, Imgproc.COLOR_BGR2GRAY);
Imgproc.cvtColor(imgToProcess, imgToProcess, Imgproc.COLOR_GRAY2RGBA, 4);
或者您可以自己访问像素:
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});
}
}
关于android-opencv 使用 matToBitmap/bitmapToMat 将 mat 转换为灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8454542/
我正在尝试在 Android 上使用 OpenCV 和 Java(而不是 native )创建模板匹配功能。 我的问题是显示图像。 mattoBitmap 类(在 Java 中)有效,但是如果我想
我正在使用下面的代码来查找图像的垫子轮廓。我发现轮廓是正确的。但是,当我尝试在轮廓处裁剪图像时,应用程序崩溃了。 List contours = new ArrayList(); Mat contou
我想计算 OpticalFlow 然后显示它,但我得到了错误。我的代码: Bitmap resultBitmap = mResultBitmaps.poll(); Imgproc.cvtColor(i
我在 Eclipse 中使用更新的 willowgarage opencv 库。我想将 mat 变量转换为灰度,我已经尝试了我在网上找到的所有内容,但它们对我不起作用。 这是我的代码 package
我是一名优秀的程序员,十分优秀!