java opencv 数字识别算法_Java基于opencv实现图像数字识别(三)—灰度化和二值化

Java基于opencv实现图像数字识别(三)—灰度化和二值化

一、灰度化

灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值;因此,灰度图像每个像素点只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。一般常用的是加权平均法来求像素点的灰度值,opencv开发库所采用的一种求灰度值算法如下;

:)Gray = 0.072169 * B + 0.715160 * G + 0.212671 * R

有两种方式可以实现灰度化,如下

方式1

@Test

public void toGray() {

// 这个必须要写,不写报java.lang.UnsatisfiedLinkError

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

File imgFile = new File("C:/Users/admin/Desktop/open/test.png");

String dest = "C:/Users/admin/Desktop/open";

//方式一

Mat src = Imgcodecs.imread(imgFile.toString(), Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);

//保存灰度化的图片

Imgcodecs.imwrite(dest + "/toGray" + imgFile.getName(), src);

}

方式2

<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值