提示:个人学习探索过程,不一定完全正确,请理性看待。

文章目录

  • 前言
  • 一、JavaCV包导入
  • 二、绘制多边形
  • 总结

前言

提示:JavaCV 提供了在计算机视觉领域的封装库,包括:OpenCV、ARToolKitPlus、libdc1394 2.x 、PGR FlyCapture和FFmpeg。此外,该工具可以很容易地使用Java平台的功能。


提示:以下是本篇文章正文内容,下面案例可供参考

一、JavaCV包导入

在Maven仓库中搜索JavaCV ,选择 JavaCV Platform 根据自己的需求选择版本 引入包。
代码如下(示例):

implementation 'org.bytedeco:javacv-platform:1.5.6'

二、绘制多边形

提示:JavaCV和OpenCV绘制多边形有一定的不同,网上大部分是OpenCV的代码 很少看到JavaCV,官方文档只有一些简单示例,所以不能保证我的代码完全没有问题。

代码如下(示例):

package com.example.demo;import org.bytedeco.javacpp.BytePointer;
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.global.opencv_highgui;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Point;
import org.bytedeco.opencv.opencv_core.Scalar;
import org.opencv.imgproc.Imgproc;public class DrawRect {public static void main(String[] args) {//多边形顶点int[][] inCabinetArea = {{0, 300}, {350, 340}, {360, 355}, {1200, 385}, {1280, 340}, {1280, 720},{0, 720}};//720为rows 可以理解为多少杭//1280为cols 可以理解为多少列//CV_8UC3 可以理解为3通道Mat mat = new Mat(720,1280,opencv_core.CV_8UC3);Point hatPoints = new Point(7);//Scalar 颜色Scalar pointer = new Scalar();pointer.red(0);pointer.green(20);pointer.blue(0);for (int i = 0, inCabinetAreaLength = inCabinetArea.length; i < inCabinetAreaLength; i++) {int[] ints = inCabinetArea[i];Point pB = new Point(ints[0], ints[1]);hatPoints.position(i).put(pB);}opencv_imgproc.fillConvexPoly(mat, hatPoints.position(0),7,pointer);opencv_highgui.imshow("123",mat);opencv_highgui.waitKey();}
}

注意:

opencv_imgproc.fillConvexPoly(mat, hatPoints.position(0),7,pointer);

7表示7个点根据自己的需求自行改变,否则可能没出会画出不一样的图形,血淋淋的教训。
画出的图形如下:

总结

提示:

@Namespace("cv") public static native void fillConvexPoly(@ByVal Mat img, @Const Point pts, int npts,@Const @ByRef Scalar color);

我遇到的坑就是fillConvexPoly时 没有理解npts参数的意思,大家可以理解为顶点。
OK 第一次写文章 没有经验,就当记录下踩坑日记吧,哈哈哈哈。

JavaCV 绘制多边形相关推荐

  1. html 根据坐标画多边形,28种css3绘制多边形代码分享

    本文分享了28种CSS3绘制多边形的代码.在做网页项目中需要使用多边形扇形图形来完成一些功能,第一印象就是使用CSS3来完成.经过查资料发现了transform 的skew()正好合适且且使用方便. ...

  2. R语言ggplot2可视化可视化聚类图、使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点、并自定义每个聚类簇数据点的颜色、多边形框的颜色(Cluster Plot)、主副标题题注

    R语言ggplot2可视化可视化聚类图.使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点.并自定义每个聚类簇数据点的颜色.多边形框的颜色(Cluster Plot).主副标题题注 ...

  3. R语言polygon函数绘制多边形实战

    R语言polygon函数绘制多边形实战 目录 R语言polygon函数绘制多边形实战 #基本语法 #基础多边形绘制

  4. python绘制如下图形、小三角形边长20_在编程中发现数学之美——使用Python小龟绘制多边形...

    在使用数学知识画出很酷的各种图形之前,你需要先学习Python编程语言的基础知识.本文将会带你熟悉以下编程概念:循环.变量.函数.使用小龟模块绘制图像.本文假设你已经安装了Python,如果没有,欢迎 ...

  5. Vue+Openlayer使用Draw实现交互式绘制多边形并获取面积

    场景 Vue+Openlayer使用Draw实现交互式绘制线段: Vue+Openlayer使用Draw实现交互式绘制线段_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面的基础上实 ...

  6. Qt 运用鼠标绘制多边形

    文章目录 Qt 鼠标绘制多边形 技术要点: 实现过程: Qt 鼠标绘制多边形 分析: Qt鼠标绘图,就是要捕获鼠标事件,将捕获到的坐标点传递给场景,然后场景中就可以添加响应的2D图形了. 技术要点: ...

  7. html用css画多边形,Sass绘制多边形_Preprocessor, Sass, SCSS, clip-path, CSS处理器, 会员专栏 教程_W3cplus...

    CSS画图形在Web运用中时常看到,比如三角形.五角星,心形,Ribbon等.不过以前使用CSS绘制图形一般都是借助于border来绘制,但这样的方式受到一定的限制,而且实用价值也有所限制.这篇文章将 ...

  8. c# 通过鼠标点击绘制多边形

    1.问题描述 c#中,希望用鼠标点击事件,实现多边形的绘制: 2.解决思路 a.创建一个链表,将鼠标左键选中的点存储到链表中: b.根据链表中的值,利用c#的DrawPolygon()函数绘制: 3. ...

  9. canvas绘制多边形

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  10. android高德地图绘制多边形_Android安卓高德地图实现多边形绘制与编辑

    需求:使用高德地图api实现多边形的绘制与编辑,从而实现圈中房屋的效果. 在js中有相关插件,效果很好.点我跳转 但是在高德开放平台中并未找到安卓ios的相关插件或者方法,于是提交工单,5个工作日才能 ...

最新文章

  1. WEB前端性能优化小结
  2. 深度学习100例 | 第33天:迁移学习-实战案例教程
  3. 并发编程之 Semaphore 源码分析
  4. java接口那一节是哪的知识_Java中的接口知识汇总
  5. IE8 select 动态下拉遇到的问题
  6. jquery地图插件jvectorMap
  7. [AU3]Backup Switch Config - cisco,huawei,h3c ---by onepc 153785587
  8. ScaleAnimation缩放动画Demo
  9. [渝粤教育] 西南科技大学 程序设计语言VB 在线考试复习资料(2)
  10. 威廉第三的MAC系列教程(一) ——使用ACPI Patcher制作DSDT补丁
  11. java使用Rocksdb
  12. 嵌入式系统开发-麦子学院(1)——前言
  13. 有/无外网情况下linux安装宋体
  14. 手机端的日期选择的插件
  15. 租用游艇问题——动态规划
  16. 网络摄像头RTSP拉流协议网页无插件视频直播平台EasyNVR为什么无法获取通道接口数据?
  17. 被裁了!39 岁阿里 P9,攒下 1.5 亿....
  18. php空间开启伪静态,php虚拟主机开启伪静态(虚拟主机伪静态规则配置)
  19. 我们DevSkim、Jarvis和USG是这样子的
  20. Root Moto X Style XT1570 国行系统

热门文章

  1. ManualResetEvent类的用法
  2. 修改.class文件内容
  3. 如何禁止计算机自动安装驱动,禁止自动安装显卡驱动-怎样禁止系统自动安装显卡驱动?系统是Gho – 手机爱问...
  4. FAT32文件系统FAT表修复
  5. 计算机网络试题及答案(史上最全)
  6. Exchange 2010 证书续期
  7. C#学习笔记25: 控制台应用程序开发精讲
  8. Android将毫秒转为时分秒
  9. 载入java VM 时Windows 出现错误:2
  10. 《松本行弘的程序世界》精彩书摘