opencv bitmap 转 imge
时间: 2023-11-25 11:52:21 浏览: 156
opencv图片转换
以下是将OpenCV中的Mat对象转换为Android中的Bitmap对象的示例代码:
```java
// 将Mat对象转换为Bitmap对象
public static Bitmap matToBitmap(Mat src) {
Bitmap bmp = null;
try {
// 将Mat对象转换为RGBA格式的Bitmap对象
Imgproc.cvtColor(src, src, Imgproc.COLOR_BGR2RGBA);
bmp = Bitmap.createBitmap(src.cols(), src.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(src, bmp);
} catch (Exception e) {
e.printStackTrace(); }
return bmp;
}
```
以下是将Android中的Bitmap对象转换为OpenCV中的Mat对象的示例代码:
```java
// 将Bitmap对象转换为Mat对象
public static Mat bitmapToMat(Bitmap bmp) {
Mat mat = new Mat();
try {
// 将Bitmap对象转换为RGBA格式的Mat对象
Utils.bitmapToMat(bmp, mat);
Imgproc.cvtColor(mat, mat, Imgproc.COLOR_RGBA2BGR);
} catch (Exception e) {
e.printStackTrace();
}
return mat;
}
```
如果要对Mat对象进行resize和滤波,可以使用OpenCV中的resize()和GaussianBlur()函数。具体代码如下:
```java
// 对Mat对象进行resize和滤波
public static Mat processMat(Mat src) {
Mat dst = new Mat();
try {
// 将Mat对象resize为指定大小
Size size = new Size(640, 480);
Imgproc.resize(src, dst, size);
// 对Mat对象进行高斯滤波
Imgproc.GaussianBlur(dst, dst, new Size(3, 3), 0);
} catch (Exception e) {
e.printStackTrace();
}
return dst;
}
```
关于Java文件和CMakeLists.txt的编写,需要根据具体情况进行编写,可以参考OpenCV官方文档进行编写。
阅读全文