Java|Java OpenCV图像处理之图形与文字绘制
目录
- 前言
- 核心代码
- 效果图
前言 代码地址
序號 | 名稱 | 方法 |
---|---|---|
1 | 圖像 添加文字 | Imgproc.putText |
2 | 圖像 畫直綫 | Imgproc.line |
3 | 圖像 畫橢圓 | Imgproc.ellipse |
4 | 圖像 畫矩形 | Imgproc.rectangle |
5 | 圖像 畫園 | Imgproc.circle |
6 | 圖像 填充 | Imgproc.fillConvexPoly |
核心代码
package com.xu.opencv.canva; import java.io.File; import java.util.ArrayList; import java.util.List; import org.opencv.core.Mat; import org.opencv.core.MatOfPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.Size; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; /** * @version V-1.0 * @Title: Canvas.java * @Package com.xu.opencv.canvas * @Description: TODO * @author: hyacinth * @date: 2019年1月26日 下午5:08:18 * @Copyright: 2019 hyacinth */public class Canvas {static {String os = System.getProperty("os.name"); String type = System.getProperty("sun.arch.data.model"); if (os.toUpperCase().contains("WINDOWS")) {File lib; if (type.endsWith("64")) {lib = new File("lib\\OpenCV-455\\x64\\" + System.mapLibraryName("opencv_java455")); } else {lib = new File("lib\\OpenCV-455\\x86\\" + System.mapLibraryName("opencv_java455")); }System.load(lib.getAbsolutePath()); }}public static void main(String[] args) {fillPoly(); }/*** OpenCV-4.0.0 图像文字** @return: void* @date: 2019年1月26日 下午5:37:04*/public static void putText() {Mat src = https://www.it610.com/article/Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg"); Imgproc.putText(src, "test text", new Point(60, 60), Imgproc.FONT_HERSHEY_SIMPLEX, 1.0, new Scalar(0, 255, 0), 1, Imgproc.LINE_AA, false); HighGui.imshow("putText", src); HighGui.waitKey(1); }/*** OpenCV-4.0.0 图像画线** @return: void* @date: 2019年1月17日 下午8:32:41*/public static void line() {Mat src = https://www.it610.com/article/Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg"); Imgproc.line(src, new Point(10, 50), new Point(100, 50), new Scalar(0, 0, 255), 1, Imgproc.LINE_AA); HighGui.imshow("图像画线", src); HighGui.waitKey(1); }/*** OpenCV-4.0.0 图像椭圆** @return: void* @date: 2019年1月17日 下午8:32:56*/public static void ellipse() {Mat src = https://www.it610.com/article/Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg"); Imgproc.ellipse(src, new Point(200, 200), new Size(90, 50), 0, 0, 360, new Scalar(0, 0, 255), 1, Imgproc.LINE_AA); HighGui.imshow("图像椭圆", src); HighGui.waitKey(1); }/*** OpenCV-4.0.0 图像矩形** @return: void* @date: 2019年1月17日 下午8:33:08*/public static void rectangle() {Mat src = https://www.it610.com/article/Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg"); Imgproc.rectangle(src, new Point(10, 10), new Point(200, 200), new Scalar(0, 255, 0)); HighGui.imshow("图像矩形", src); HighGui.waitKey(1); }/*** OpenCV-4.0.0 图像画圆** @return: void* @date: 2019年1月17日 下午8:33:27*/public static void circle() {Mat src = https://www.it610.com/article/Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg"); Imgproc.circle(src, new Point(50, 50), 20, new Scalar(0, 255, 0), 2, Imgproc.LINE_8); HighGui.imshow("图像画圆", src); HighGui.waitKey(1); }/*** OpenCV-4.0.0 图像填充** @return: void* @date: 2019年1月26日 下午6:25:55*/public static void fillPoly() {Mat src = https://www.it610.com/article/Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg"); // 1List points1 = new ArrayList<>(); points1.add(new Point(0, 100)); points1.add(new Point(50, 50)); points1.add(new Point(100, 100)); points1.add(new Point(150, 50)); points1.add(new Point(200, 100)); points1.add(new Point(100, 250)); Point[] array = points1.stream().toArray(Point[]::new); MatOfPoint point = new MatOfPoint(array); Imgproc.fillConvexPoly(src, point, new Scalar(0, 255, 0), Imgproc.LINE_AA); // 2List points2 = new ArrayList<>(); points2.add(new Point(100, 100)); points2.add(new Point(150, 50)); points2.add(new Point(200, 100)); Imgproc.fillConvexPoly(src, new MatOfPoint(points2.stream().toArray(Point[]::new)), new Scalar(0, 255, 0), Imgproc.LINE_AA); HighGui.imshow("图像填充", src); HighGui.waitKey(1); }}
效果图
文章图片
文章图片
【Java|Java OpenCV图像处理之图形与文字绘制】到此这篇关于Java OpenCV图像处理之图形与文字绘制的文章就介绍到这了,更多相关Java OpenCV绘制图形 文字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 笔记|工业缺陷检测项目实战(一)——基于opencv的工件缺陷检测C++实现
- 图像处理|opencv使用相机标定——实战篇(附代码与可执行程序并解决程序崩溃问题)
- python|opencv-python 入门实战(传统方法Hog+svm实现目标检测)
- 边缘检测robert原理_基于OpenCV的车道线检测算法(Traditional Method)
- python图像处理实战_【Python - OpenCV】数字图像处理项目实战(三) - 运动估计
- 从零学习openCV|【从零学习openCV】IOS7下的人脸检测
- 图像处理|【OpenCV-Python】(调用电脑摄像头+读取视频)
- 计算机视觉|10分钟学会使用YOLO及Opencv实现目标检测
- OpenCV|OpenCV项目实战——虚拟画笔
- Java|雷军做程序员时写的博客,真滴强啊