Java OpenCV 图像处理04.0 图像形状与文字绘制

Github 代碼地址
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 = 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 = 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 = 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 = 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 = 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 = Imgcodecs.imread("D:\\OneDrive\\桌面\\5.jpeg");// 1List<Point> 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<Point> 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 OpenCV 图像处理04.0 图像形状与文字绘制相关推荐

  1. Java OpenCV 图像处理23.0 图像轮廓

    Java OpenCV 图像处理23.0 图像轮廓 Java OpenCV-4.0.0 图像轮廓 输入图像转为灰度图像cvtColor 使用Canny进行边缘提取,得到二值图像 使用findConto ...

  2. Java OpenCV 图像处理34 图形图像 分水岭 watershed

    Java OpenCV 图像处理34 图形图像 分水岭 watershed package com.xu.opencv;import org.opencv.core.Core; import org. ...

  3. java识别图片中的图形形状_基于Java+OpenCV技术对几何图像颜色与形状识别

    基于 Java+OpenCV 技术对几何图像颜色与形状识别 杨思阳 黄军 吴春秋 (黔东南民族职业技术学院,贵州 凯里 556000) [摘 要] 通过 Java 调用 OpenCV 视觉库实现几何图 ...

  4. Java OpenCV 图像处理32.4 视频分析和对象跟踪 切换背景

    Java OpenCV 图像处理32.4 视频分析和对象跟踪 切换背景 方法 含义 解释 bitwise_and "与"操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制 ...

  5. Java OpenCV 图像处理30 视频分析和对象跟踪 视频读取

    Java OpenCV 图像处理30 视频分析和对象跟踪 视频读取 Java OpenCV-4.0.0 图像处理 视频分析和对象跟踪 视频读取 package com.xu.opencv.video; ...

  6. 【千律】OpenCV基础:通过图像颜色进行文字提取

    环境:Python3.8 和 OpenCV 内容:通过图像颜色进行文字提取 文字提取步骤 1.  模糊图片,削弱噪声 2.  获取二值图 3.  形态学操作,完善二值图 4.  轮廓提取,获得字符区域 ...

  7. python 图像处理与识别书籍_Python图像处理之识别图像中的文字(实例讲解)

    ①安装PIL:pip install Pillow(之前的博客中有写过) ②安装pytesser3:pip install pytesser3 ③安装pytesseract:pip install p ...

  8. python去除图片上的文字_Python图像处理之识别图像中的文字(实例讲解)

    ①安装PIL:pip install Pillow(之前的博客中有写过) ②安装pytesser3:pip install pytesser3 ③安装pytesseract:pip install p ...

  9. OpenCV图像处理(0)——文件夹批量读取文件

    读取文件夹下所有图像.jpg string file_path = "H:\\图像处理模板\\c++\\CmakeBuildOpenCVPrj\\Pic\\PillingImages\\Si ...

最新文章

  1. ML.NET 1.1 发布,模型构建器升级和新的异常检测算法
  2. Matlab最短路学习
  3. C++标准库与STL简介
  4. Windows API的时间结构体、时间转换及时间获取
  5. Java基础:HashMap的用法
  6. Flex手机开发-退出应用程序
  7. python urllib安装_Python Urllib库
  8. ThinkPHP分页链接支持数组参数的办法
  9. eureka server配置_Spring Boot(十):注册中心Eureka-客户端视角
  10. jdbc连接带密码的access数据库
  11. 硅谷之谜读后感以及最近总结
  12. rs485与modbus协议
  13. python 阮一峰_阮一峰:Fish shell 入门教程
  14. sklearn中精确率、召回率及F1值得micro,macro及weighted算法
  15. 手绘图解:从零维到十维空间
  16. 上善若水,水利万物而不争
  17. vue高德地图marker批量标记与InfoWindow提示框
  18. 字符串编码(ASCII, GBK, ANSI, Unicode(‘\u‘), UTF-8编码)
  19. NAVICAT FOR MYSQL存储过程
  20. html中关于下拉框的2中设置方法(移入显示下拉框)

热门文章

  1. python做手机应用宝下载_Python代码爬取下载应用宝所有APP软件
  2. 粗糙集理论相关基本概念及属性约简
  3. 毕设-基于SSM物业管理系统
  4. 【《深度学习入门》—— 学习笔记(二)】
  5. 最新一段为你网站加新年灯笼的代码
  6. python一键登录srun校园网(以深圳技术大学为例)
  7. 牛客 明七暗七----数位dp
  8. 军犬舆情每日热点:抢票软件被中铁总局限制;中石化2018净利624亿
  9. 有趣的纯CSS实现动态晴阴雨雪
  10. 微型计算机奔三奔四指的是,今年最火“山楂裙”,征服了太多奔三奔四的女人,自信大方又优雅...