学习javacv之三:图像的平滑处理、大小减半

1.图像的平滑处理

package com.csdn.linghu.javacvlean03;

import org.bytedeco.javacpp.opencv_core.CvMat;
import static org.bytedeco.javacpp.opencv_highgui.*;
import static org.bytedeco.javacpp.opencv_imgproc.*;
import static org.bytedeco.javacpp.opencv_core.*;

public class SmoothProcesss {
	public static void main(String[] args) {
		//因为Mat处理图像有问题,暂时使用cvMat
		CvMat srciInImage = cvLoadImageM("resourecs/xvqing.jpg");
		if (srciInImage !=null) {
			//显示待处理图像
			cvShowImage("srcInImage",srciInImage);
			//处理图像
			cvSmooth(srciInImage, srciInImage);
			CvMat srciOutImage = srciInImage;
			//显示处理完毕的图像
			cvShowImage("srcOutImage", srciOutImage);
			//保存处理过的图像
			cvSaveImage("resourecs/smooth.jpg", srciOutImage);
			//等待按键响应
			cvWaitKey(0);
			//释放资源
			cvReleaseMat(srciInImage);
			//销毁窗口
			cvDestroyWindow("srcInImage");
			cvDestroyWindow("srcOutImage");
		}
		
	}
}

处理结果如下:

处理前:


处理后:


2、图像大小减半

package com.csdn.linghu.javacvlean03;


import org.bytedeco.javacpp.opencv_core.IplImage;


import static org.bytedeco.javacpp.opencv_highgui.*;
import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.javacpp.opencv_imgproc.*;


public class SizeHalf {
public static void main(String[] args) {
	//读取图像
	IplImage srcInImage = cvLoadImage("resourecs/smoothHalf.jpg");
	if (srcInImage !=null) {
		//显示未处理的图像
		cvShowImage("srcInImage", srcInImage);
//		if (srcInImage.width()%2 !=0&&srcInImage.height()%2 !=0) {
//			return;
//		}
		    //为图像输出分配空间
			IplImage srcOutImage = cvCreateImage(cvSize(srcInImage.width()/2, srcInImage.height()/2), srcInImage.depth(), srcInImage.nChannels());
			//减半
			cvPyrDown(srcInImage, srcOutImage);
			cvShowImage("srcOutImage", srcOutImage);
			//将处理结果保存
			cvSaveImage("resourecs/smoothHalfSmall.jpg", srcOutImage);
			//等待按键
			cvWaitKey();
			//释放空间
			cvReleaseImage(srcInImage);
			cvReleaseImage(srcOutImage);
			cvDestroyAllWindows();
			
	}
}
}

处理结果:


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值