import { PrintObject } from "./PrintObject";
import { Image } from "./Image";
/**
* @class gve.Kernel
* @since gve
*/
export class Kernel extends PrintObject {
/**
* 构造Kernel对象
* @hideconstructor
* @return gve.Kernel
* @tutorial gve
*/
constructor() {
super();
if (!(this instanceof Kernel)) {
return new Kernel();
}
}
/**
* 图像边缘检测算法之Roberts算子
* @param {Image} image 待边缘检测的影像路径
* @returns Image
* @tutorial gve.Kernel
*/
static roberts(image: Image) {
return new Image();
}
/**
* 图像边缘检测算法之Sobel算子
* @param {Image} image 待边缘检测的影像路径
* @returns Image
* @tutorial gve.Kernel
*/
static sobel(image: Image) {
return new Image();
}
/**
* 图像边缘检测算法之Prewitt算子
* @param {Image} image 待边缘检测的影像路径
* @returns Image
* @tutorial gve.Kernel
*/
static prewitt(image: Image) {
return new Image();
}
/**
* 图像边缘检测算法之laplacian算子
* @param {Image} image 待边缘检测的影像路径
* @returns Image
* @tutorial gve.Kernel
*/
static laplacian(image: Image) {
return new Image();
}
// /**
// * 图像边缘检测算法之gaussian算子
// * @param {Image} image 待边缘检测的影像路径
// * @param {Number} ksize 高斯核大小,必须为奇数和正数, 默认值:3
// * @param {Number} sigma 高斯标准差,如果为负数,内部会根据ksize进行转化, 默认值:1
// * @returns Image
// * @tutorial gve.Kernel
// */
// static gaussian(image: Image, ksize: number = 3, sigma: number = 1) {
// return new Image();
// }
/**
* 边缘检测图像
* @param {Image} image 待边缘检测的影像路径
* @param {Number} threshold1 边缘检测的第一个阈值
* @param {Number} threshold2 边缘检测的第二个阈值
* @returns Image
* @tutorial gve.Kernel
*/
static canny(
image: Image,
threshold1: number,
threshold2: number
) {
return new Image();
}
/**
* 图像边缘检测算法之square正方形核
* @param {number} [radius] 核半径
* @param {boolean} [normalize] 归一化
* @param {number} [magnitude] 核系数
* @returns Kernel
* @tutorial gve.Kernel
*/
static square(
radius?: number,
normalize?: boolean,
magnitude?: number
) {
return new Kernel();
}
/**
* 图像边缘检测算法之gaussian核
* @param {number} [radius] 核半径
* @param {boolean} [normalize] 归一化
* @param {number} [magnitude] 核系数
* @returns Kernel
* @tutorial gve.Kernel
*/
static gaussian(
radius?: number,
normalize?: boolean,
magnitude?: number
) {
return new Kernel();
}
/**
* 图像边缘检测算法之laplacian4核
* @param {number} [magnitude] 核系数
* @param {boolean} [normalize] 归一化
* @returns Kernel
* @tutorial gve.Kernel
*/
static laplacian4(
magnitude?: number,
normalize?: boolean
) {
return new Kernel();
}
}