成都网站建设设计

将想法与焦点和您一起共享

Java怎么在LINUX上加载OpenCVso库

这篇文章主要讲解了“Java怎么在LINUX上加载OpenCV so库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java怎么在LINUX上加载OpenCV so库”吧!

创新互联专业为企业提供阳东网站建设、阳东做网站、阳东网站设计、阳东网站制作等企业网站建设、网页设计与制作、阳东企业网站模板建站服务,10年阳东做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

  这个范例不一定能跑起来。原因就是依赖库加载的问题。如果libopencv_java.so:

  • 包含其他所有的so功能,上述博文就是对的。

  • 如果不包含,需要一定的加载技巧。

  代码范例如下:

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 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 fileList = new LinkedList();
        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 fileList = getOpenCVFiles(dirName);
        if (fileList == null || fileList.size() == 0)
        {
            return;
        }
        
        while (fileList.size() > 0)
        {
            for (int i=0; i

  关键的一句就是要正确找到so包。

感谢各位的阅读,以上就是“Java怎么在LINUX上加载OpenCV so库”的内容了,经过本文的学习后,相信大家对Java怎么在LINUX上加载OpenCV so库这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


新闻名称:Java怎么在LINUX上加载OpenCVso库
文章转载:http://chengdu.cdxwcx.cn/article/jipsjg.html