zoukankan      html  css  js  c++  java
  • Java基于opencv—归一化

    Opencv中提供了resize函数,可以把图像调整到相同大小

    Java中resize函数的声明,内部调用的都是native方法

    public static void resize(Mat src, Mat dst, Size dsize, double fx, double fy, int interpolation)
        {
            
            resize_0(src.nativeObj, dst.nativeObj, dsize.width, dsize.height, fx, fy, interpolation);
            
            return;
        }
    
        //javadoc: resize(src, dst, dsize)
        public static void resize(Mat src, Mat dst, Size dsize)
        {
            
            resize_1(src.nativeObj, dst.nativeObj, dsize.width, dsize.height);
            
            return;
    }
    

    解释下各个参数的意思:

    src: 待改变大小的图像

    dst: 输出的目标图像

    dsize: 目标图像的尺寸

    fx:width方向的缩放比例,如果它是0,那么它就会按照
    (double)dsize.width/src.cols来计算

    fy:height方向的缩放比例,如果它是0,那么它就会按照(double)dsize.height/src.rows来计算

    interpolation:这个是指定插值的方式,图像缩放之后,肯定像素要进行重新计算的,就靠这个参数来指定重新计算像素的方式,有以下几种:
    INTER_NEAREST - 最邻近插值
    INTER_LINEAR - 双线性插值,如果最后一个参数你不指定,默认使用这种方法
    INTER_AREA - 区域插值; 区域插值分为3种情况。图像放大时类似于线性插值,图像缩小时可以避免波纹出现。
    INTER_CUBIC -基于4x4像素邻域的3次插值法
    INTER_LANCZOS4 - 8x8像素邻域内的Lanczos插值

    实战演示一下

    /**
    	 * 把图片归一化到相同的大小
    	 * 
    	 * @param src
    	 *            Mat矩阵对象
    	 * @return
    	 */
    	public static Mat resize(Mat src) {
    		//src = trimImg(src);//这个函数可以忽略,不产生影响
    		Mat dst = new Mat();
    		// 区域插值(INTER_AREA):图像放大时类似于线性插值,图像缩小时可以避免波纹出现。
    		Imgproc.resize(src, dst, dsize, 0, 0, Imgproc.INTER_AREA);
    		return dst;
    	}
    

    效果:
    Java基于opencv—归一化

    本项目的所有代码地址:https://github.com/YLDarren/opencvHandleImg

  • 相关阅读:
    poj 2728 Desert King
    uva 439 Knight Moves
    hdu 1875 畅通工程再续
    scau实验题 8600 骑士周游问题(有障碍物)
    scau实验题 8596 Longest Ordered Subsequence
    poj 1679 The Unique MST
    uva 527 Oil Deposits
    poj 2533 Longest Ordered Subsequence
    .net 程序员 java 开发入门
    Collation conflict occur at operation on User define funtion & table's column
  • 原文地址:https://www.cnblogs.com/qjmnong/p/9650746.html
Copyright © 2011-2022 走看看