Java OpenCV关于Mat的常用操作 修改尺寸 旋转 翻转 文字

本文档详细介绍了使用Java OpenCV库对Mat对象进行操作,包括修改尺寸、旋转、翻转、画矩形框、添加文字和画直线等基本步骤,帮助Java开发者在计算机视觉项目中更好地应用OpenCV。

说明

先说一个通用的规则,个人理解

  • C语言中CV::对象,在Java是Core (org.opencv.core.Core)
  • -C语言中cv开头的方法,在Java是Imgproc(org.opencv.imgproc.Imgproc)
  • 有了以上规则,遇到问题就可以搜索c版的opencv,比较java版的确实少

图片

在OpenCV中图片被存储在Mat(org.opencv.core)容器中

修改尺寸

Size size = new Size(720,680);
Mat dstMat= new Mat();
/**
 * srcMat 原图,dstMat目标,size裁剪后大小
 */
Imgproc.resize(srcMat, dstMat, size);
srcMat.release();
srcMat = dstMat; //释放资源

旋转

Mat dstMat= new Mat();
//旋转90°
int angle = 90;
Imgproc.warpAffine(srcMat, dstMat, Imgproc.getRotationMatrix2D(new Point(dstMat.width() / 2, dstMat.height() / 2), angle, 1.0), size);
srcMat.release();
srcMat= dstMat;

翻转

Mat dstMat= new Mat();
/**
 * srcMat 原图,dstMat目标,
 * opencv翻转:
 * flipCode:
 * = 0 图像向下翻转 (垂直翻转)
 * > 0 图像向右翻转(水平翻转)
 * < 0 图像同时向下向右翻转 (水平垂直翻转)
 */
Core.flip(srcMat, dstMat, mode);
srcMat.release();
srcMat = dstMat; //释放资源

画矩形框

//这里的顺序是GBR,不是RGB
Scalar color = new Scalar(0,0,255);
//矩形框
Rect rect = new Rect(0,0,100,100;
Imgproc.rectangle(mat, rect,color );

添加文字

//这里的顺序是GBR,不是RGB
Scalar color = new Scalar(0,0,255);
//矩形框
Rect rect = new Rect(0,0,100,100;

Imgproc.putText(mat, "Hello", new Point(rect.x, rect.y), FONT_HERSHEY_SIMPLEX, 1,color);

如果要显示中文好像要添加底层的依赖库,暂时没弄

画直线

Scalar color = new Scalar(0,0,255);
Rect rect = new Rect(0,0,100,100;
Imgproc.line(mat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), color );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值