Android平台上利用opencv进行图像的缩放
2014-02-25 09:04
756 查看
写了个图像缩放的小程序,仅为使用下opencv for Andorid。
在Android2.3.1模拟器运行,程序界面:
点击缩小按钮,界面如下:
代码如下:
在Android2.3.1模拟器运行,程序界面:
点击缩小按钮,界面如下:
代码如下:
package cn.netava.opencv; import java.io.File; import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.Size; import org.opencv.highgui.Highgui; import org.opencv.imgproc.Imgproc; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; public class ButtonSizeImage extends Activity { private Button deal_button; private ImageView imgview; private Bitmap bm; private boolean flag=false;//判断缩放还是恢复,初始值为false /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 缩放按钮 deal_button = (Button) this.findViewById(R.id.button1); // 存放照片图层 imgview = (ImageView) this.findViewById(R.id.imageView1); // 显示照片 bm = BitmapFactory.decodeFile("/sdcard/girl.jpg"); imgview.setImageBitmap(bm); //匿名内部类,创建缩小事件监听器 OnClickListener clicklisten=new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub if(flag){ deal_button.setText("缩小"); flag=false; // 显示照片 bm = BitmapFactory.decodeFile("/sdcard/girl.jpg"); imgview.setImageBitmap(bm); } else{ deal_button.setText("恢复"); flag=true; double scale = 0.1; // 缩放比例 Mat img = Highgui.imread("/sdcard/girl.jpg");// 读入图片,将其转换为Mat Size dsize = new Size(img.width() * scale, img.height() * scale); // 设置新图片的大小 Mat img2 = new Mat(dsize, CvType.CV_16S);// 创建一个新的Mat(opencv的矩阵数据类型) Imgproc.resize(img, img2,dsize);//调用Imgproc的Resize方法,进行图片缩放 if(Highgui.imwrite("/sdcard/girlnew.jpg", img2)){//将图形保存到new.jpg中 File f = new File("/sdcard/girlnew.jpg"); if(f.exists()) { bm=BitmapFactory.decodeFile("/sdcard/girlnew.jpg"); imgview.setImageBitmap(bm); } } else{ Toast.makeText(ButtonSizeImage.this, "===========图片缩小失败============!!", 3).show(); } } } }; //缩放按钮添加点击事件监听器 deal_button.setOnClickListener(clicklisten); } }
相关文章推荐
- 在Android平台上利用opencv进行图像处理之边缘检测、灰度变换、缩小
- Android平台上利用opencv进行图像的边沿检测
- Android平台上利用opencv进行图像的边沿检测
- Android Jni 利用OpenCV 实现图像尺寸缩放(一)
- Android Jni 利用OpenCV 实现图像尺寸缩放(二)
- Android Jni 利用OpenCV 实现图像尺寸缩放(三)
- android中利用opencv进行图像识别
- 利用opencv从本地获取图像,并进行图像缩放,彩色图转灰度图
- 在android平台上利用opencv进行图像处理之边沿检测
- android 根据分辨率对图像进行缩放
- 利用OPENCV为android相机开发图像处理库
- 利用warpPerspective进行图像缩放
- Android中进行图像压缩和缩放
- 在opencv3中利用SVM进行图像目标检测和分类
- OpenCV对图像进行缩放显示
- imresize函数进行图像缩放及利用imrotate进行图像旋转
- Python利用OpenCV来进行图片的位移和缩放
- 利用opencv进行图像文件读入和显示
- 【学习opencv】对图像缩放并进行边缘检测
- Android中进行图像压缩和缩放