java opencv 4.0.1安装配置
如果没有把dll扔到jdk会报错
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no opencv_java401 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:)
at java.lang.Runtime.loadLibrary0(Runtime.java:)
at java.lang.System.loadLibrary(System.java:)
at com.hs.jframe.Jframe.jButton5ActionPerformed(Jframe.java:)
at com.hs.jframe.Jframe.access$(Jframe.java:)
at com.hs.jframe.Jframe$.actionPerformed(Jframe.java:)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:)
at java.awt.Component.processMouseEvent(Component.java:)
at javax.swing.JComponent.processMouseEvent(JComponent.java:)
at java.awt.Component.processEvent(Component.java:)
at java.awt.Container.processEvent(Container.java:)
at java.awt.Component.dispatchEventImpl(Component.java:)
at java.awt.Container.dispatchEventImpl(Container.java:)
at java.awt.Component.dispatchEvent(Component.java:)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:)
at java.awt.Container.dispatchEventImpl(Container.java:)
at java.awt.Window.dispatchEventImpl(Window.java:)
at java.awt.Component.dispatchEvent(Component.java:)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:)
at java.awt.EventQueue.access$(EventQueue.java:)
at java.awt.EventQueue$.run(EventQueue.java:)
at java.awt.EventQueue$.run(EventQueue.java:)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:)
at java.awt.EventQueue$.run(EventQueue.java:)
at java.awt.EventQueue$.run(EventQueue.java:)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:)
首先引入依赖
<!-- https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/opencv -->
<dependency>
<groupId>org.bytedeco.javacpp-presets</groupId>
<artifactId>opencv</artifactId>
<version>4.0.-1.4.</version>
</dependency>
再去官网下载一些东东https://opencv.org/releases/
因为maven仓的版本 最高只有4.0.1所以,下载的时候,找到4.0.1下载
官网下载资源
然后运行,解压后会得到一些文件
然后把dll扔到jdk的bin文件夹下
这个路径具体看自己的实际情况
然后构建一下,看到有这个jar包就行了,
开始之前呢,需要先了解一下opencv的行列方向问题
一般图片都需要进行灰度化然后二值化,
参考下图
这样基本上也可以识别了,但是还是有一些噪点,最好还是去一下噪点
对于分辨率比较低的图片,噪点基本都是一两个像素
简单的办法就是计算黑色像素点周围的8个像素是不是全部白色,如果是那8个像素点的值加起来就是2040,就把这个点处理成白色,如果不是,那可能就不是噪点
效果还凑合
代码如下
//因为去了边框,所以,行列数,做减2处理,即不处理边框上的像素
for(int x=1;x<col-1;x++){
for(int y=1;y<row-1;y++){
double[] binDataList=target.get(y, x);
double binData=binDataList[0]; if(binData==0){//黑色
double[] x1list=target.get(y-1, x-1);
double[] x2list=target.get(y-1, x);
double[] x3list=target.get(y-1, x+1); double[] x4list=target.get(y, x-1);
double[] x6list=target.get(y, x+1); double[] x7list=target.get(y+1, x-1);
double[] x8list=target.get(y+1, x);
double[] x9list=target.get(y+1, x+1);
double x1=x1list[0];
double x2=x2list[0];
double x3=x3list[0];
double x4=x4list[0];
double x6=x6list[0];
double x7=x7list[0];
double x8=x8list[0];
double x9=x9list[0];
if(x1+x2+x3+x4+x6+x7+x8+x9>=2040){
System.out.println("坐标xy:"+x+","+y+"此点是噪点,抹除处理");
target.put(y, x, 255);//画一个白点
}
}
else{ }
} }
稍微复杂一点的有连通域计算面积办法
https://blog.csdn.net/marooon/article/details/81332487
java opencv 4.0.1安装配置的更多相关文章
- resin4.0.25 安装配置 及结合eclipse开发
resin4.0.25 安装配置 及结合eclipse开发 本文大部分内容是对官网的翻译,及自己配置后的一些体会. 一. 基于win ,resin基本安装1,安装jdk1.6或更高版本2,配置环境 ...
- JDK1.6.0+Tomcat6.0的安装配置
JDK1.6.0+Tomcat6.0的安装配置是如何进行的呢?我们按照下面几个步骤来: 1.安装JDK 这是进行JSP开发的重要一步,也是安装JSP引擎(Tomcat.Resin.Weblogic等) ...
- Java开发环境及工具安装配置
Java开发环境及工具安装配置 Windows JDK 下载地址 https://www.oracle.com/java/technologies/javase-downloads.html 安装配置 ...
- mysql 5.0.46安装配置
http://os.chinaunix.net/a2008/0801/986/000000986346.shtml RPM包和源码包存放位置 /usr/local/src 源码包编译安装位置(pref ...
- zabbix3.0 agent安装配置
zabbix3.0 agent安装配置wget http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.0-2.el6.x86 ...
- Tomcat7.0/8.0 详细安装配置图解,以及UTF-8编码配置
Tomcat7.0/8.0 详细安装配置图解,以及UTF-8编码配置 2017年01月24日 10:01:48 阅读数:51265 标签: tomcattomcat安装tomcat配置tomcat编码 ...
- hadoop3.0 alpha1 安装配置
1. 官网下载 wget http://apache.fayea.com/hadoop/common/hadoop-3.0.0-alpha1/hadoop-3.0.0-alpha1.tar.gz 2 ...
- Java学习笔记——Linux下安装配置tomcat
朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 首先需要安装配置JDK,这里简单回顾下.Linux下用root身份在/opt/文件夹下创建jvm文件夹,然后使用ta ...
- Hadoop2.2.0分布式安装配置详解[2/3]
前言 本文主要通过对hadoop2.2.0集群配置的过程加以梳理,所有的步骤都是通过自己实际测试.文档的结构也是根据自己的实际情况而定,同时也会加入自己在实际过程遇到的问题.搭建环境过程不重要,重要点 ...
随机推荐
- LoadRunner中字符串的操作
LoadRunner中字符串的操作 LoadRunner中常用的字符串操作函数有: strcpy(destination_string, source_string); ...
- 廖雪峰Java15JDBC编程-2SQL入门-2insert/select/update/delete
1. INSERT用于向数据库的表中插入1条记录 insert into 表名 (字段1,字段2,...) values (数据1,数据2,数据3...) 示例 -- 如果表存在,就删除 drop t ...
- iPhone开发关于UDID和UUID的一些理解
一.UDID(Unique Device Identifier) UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中 ...
- 虚拟机vm安装黑群晖6.2
操作系统选择
- 04_springmvc注解开发
一.注解开发 需求:1.进入商品查询列表页面. 2.点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询),要修改的商品从数据库查询,根据商品id(主键)查询商品信息. 3.在商品修改页 ...
- jdom xpath定位带xmlns命名空间的节点(转)
jdom xpath定位带xmlns命名空间的节点 2013-06-29 0个评论 作者:baozhengw 收藏 我要投稿 关键词:jdom xpath xmlns 命名 ...
- 2019-2-13-Latex-论文elsevier,手把手如何用Latex写论文
title author date CreateTime categories Latex 论文elsevier,手把手如何用Latex写论文 lindexi 2019-02-13 10:38:20 ...
- vue:父子组件间通信,父组件调用子组件方法进行校验子组件的表单
参考: ElementUI多个子组件表单的校验管理:https://www.jianshu.com/p/541d8b18cf95 Vue 子组件调用父组件方法总结:https://juejin.im/ ...
- day65作业
有 红.黄.蓝 三个按钮,以及一个200x200矩形框box,点击不同的按钮,box的颜色会被切换为指定的颜色 <body> <div id="app"> ...
- PAT甲级——A1015 Reversible Primes
A reversible prime in any number system is a prime whose "reverse" in that number system i ...