这个范例不一定能跑起来。原因就是依赖库加载的问题。如果libopencv_java.so:
包含其他所有的so功能,上述博文就是对的。
-
如果不包含,需要一定的加载技巧。
Java注释规范Skills下载当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
代码范例如下:
package taishan;
import java.io.File;
import java.util.LinkedList;
import java.util.List;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
@SuppressWarnings("serial")
public class OpenCVTest
{
public final static String LIB_PATH = "/home/wuxi/eclipse-workspace/OpenCVTest/libs/bin";
private static List<file> getOpenCVFiles(final String dirName)
{
if (dirName == null)
{
return null;
}
File dir = new File(dirName);
if (!dir.exists() || !dir.isDirectory())
{
return null;
}
File[] files = dir.listFiles();
List<file> fileList = new LinkedList<file>();
for (File file : files)
{
String name = file.getName();
if ( name.startsWith("lib") && name.endsWith(".so"))
{
fileList.add(file);
}
}
return fileList;
}
private static void loadNativeOpenCV(final String dirName)
{
List<file> fileList = getOpenCVFiles(dirName);
if (fileList == null || fileList.size() == 0)
{
return;
}
while (fileList.size() > 0)
{
for (int i=0; i<filelist.size><p data-id="p838747a-T1M4MVcS"> 关键的一句就是要正确找到so包。</p></filelist.size></file></file></file></file>
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










