本文主要是介绍Java+opencv3.2.0之图像尺寸调整,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
尺寸调整顾名思义就是用来调整源图像或者ROI区域的大小。
Opencv3.2.0中提供了函数模型:
Imgproc.resize(Mat src, Mat dst, Size dsize, double fx, double fy, int interpolation)
参数说明:
src:源图像
dst:输出图像
dsize:输出图像的大小。如果它为0,则计算dsize=new Size(Math.round(fx*src.cols()), Math.round(fy*src.rows())),其中dsize、fx、fy不能同时为0
fx:水平方向的方向系数,有默认值0。当fx=0时,会计算fx=(double) dsize.width() / src.cols()
fy:垂直方向的方向系数,有默认值0。当fy=0时,会计算fy=(double) dsize.height() / src.rows()
interpolation:插值方式。默认为INTER_LINEAR。可选的插值方式有:INTER_NEAREST(最邻近插值)、INTER_LINEAR(线性插值)、INTER_AREA(区域插值)、INTER_CUBIC(三次样条插值)、INTER_LANCZOS4(Lanczos插值)等
例子:
public static void main(String[] args) {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);Mat src = Imgcodecs.imread("F:\\6b47d2a2g74e02b3805e9&690&690.jpg");Mat dst = new Mat();Imgproc.resize(src, dst, new Size(src.cols()/2,src.rows()/2), 0, 0, Imgproc.INTER_AREA);Imgcodecs.imwrite("F:\\narrow.jpg", dst);Mat endst = new Mat();Imgproc.resize(src, endst, new Size(src.cols()*2,src.rows()*2), 0, 0, Imgproc.INTER_LINEAR);Imgcodecs.imwrite("F:\\enlarge.jpg", endst);}
源图像:
缩小图片:
放大图片:
这篇关于Java+opencv3.2.0之图像尺寸调整的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!