android opencv 图片调整对比度,示例代码
时间: 2023-08-02 11:14:26 浏览: 114
【C++】OpenCV调整图片对比度&亮度 示例程序 by浅墨
5星 · 资源好评率100%
以下是一个简单的 Android OpenCV 示例代码,用于调整图像对比度:
```java
import org.opencv.android.Utils;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class MainActivity extends Activity {
private Mat mImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 将图像转换为 OpenCV Mat 对象
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image);
mImage = new Mat();
Utils.bitmapToMat(bmp, mImage);
// 调整对比度
double alpha = 1.5;
double beta = 50;
mImage.convertTo(mImage, -1, alpha, beta);
// 将结果转换回 Bitmap 对象
Bitmap resultBmp = Bitmap.createBitmap(mImage.cols(), mImage.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(mImage, resultBmp);
// 显示结果
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageBitmap(resultBmp);
}
}
```
在这个示例中,我们首先将原始图像转换为 OpenCV Mat 对象,然后使用 `convertTo()` 方法调整图像的对比度。最后,我们将结果转换回 Bitmap 对象并将其显示在 ImageView 中。
参数 `alpha` 控制对比度的增加或减少,值越大,对比度越高。参数 `beta` 控制图像的亮度,值越大,图像越亮。您可以尝试不同的参数值以获得最佳效果。
阅读全文