OpenCV3 Java图像放大缩小 修改图像大小(Imgproc.resize)

图形处理 09/12 阅读 1191 views次 人气 0
摘要:

OpenCV3修改图像大小,就是改变矩阵的行数,通过插值的方式来改变图像的尺寸。

Imgproc.resize()方法参数:

src:输入,原图像,即待改变大小的图像;

dst:输出,改变大小之后的图像,这个图像和原图像具有相同的内容,只是大小和原图像不一样而已;

dsize:输出图像的大小。如果这个参数不为0,那么就代表将原图像缩放到这个Size(width,height)指定的大小;如果这个参数为0。


代码案例:

package com.what21.opencv.demo;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class Resize {

	public static void main(String[] args) {
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
		
		Mat src=Imgcodecs.imread("D:/ShareData/internet.jpg");
		//读取图像到矩阵中,取灰度图像
		if(src.empty()){
			return ;
		}
		try{
			Mat dst=src.clone();
			//复制矩阵进入dst
			
			float scale=0.5f;
			float width=src.width();
			float height=src.height();
			
			Imgproc.resize(src, dst, new Size(width*scale,height*scale));
			Imgcodecs.imwrite("D:/ShareData/internet.resize0.5.jpg",dst);
			
			scale=1.5f;
			Imgproc.resize(src, dst, new Size(width*scale,height*scale));
			Imgcodecs.imwrite("D:/ShareData/internet.resize1.5.jpg",dst);
			
			Imgproc.resize(src, dst, new Size(400,400));
			Imgcodecs.imwrite("D:/ShareData/internet.resize400.jpg", dst);
		}catch(Exception e){
			e.printStackTrace();
		}
 
	}
	
}


评论

该文章不支持评论!

分享到: