OpenCV3 Java图形图像上的拉普拉斯平滑(Imgproc.line)

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

为了解决零概率的问题,法国数学家拉普拉斯最早提出用加1的方法估计没有出现过的现象的概率,所以加法平滑也叫做拉普拉斯平滑。

应用举例:

  假设在文本分类中,有3个类,C1、C2、C3,在指定的训练样本中,某个词语K1,在各个类中观测计数分别为0,990,10,K1的概率为0,0.99,0.01,对这三个量使用拉普拉斯平滑的计算方法如下:

  1/1003 = 0.001,991/1003=0.988,11/1003=0.011

  在实际的使用中也经常使用加 lambda(1≥lambda≥0)来代替简单加1。如果对N个计数都加上lambda,这时分母也要记得加上N*lambda。


代码案例:

package com.what21.opencv.demo;

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

public class Laplacian {

	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
			Imgproc.Laplacian(src,dst,0);
			Imgcodecs.imwrite("D:/ShareData/internet.Laplacian.jpg", dst);
		}catch(Exception e){
			e.printStackTrace();
		}

	}

}


评论

该文章不支持评论!

分享到: