最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java通過jni調(diào)用opencv處理圖像的方法

 更新時(shí)間:2018年08月04日 14:09:11   作者:ZengDong_1991  
今天小編就為大家分享一篇java通過jni調(diào)用opencv處理圖像的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1. 建立java文件

public class getImageFeature {
  static{
  System.loadLibrary("getImageFeatureDll"); 
  }
  public native int getImageFeatureByName(String filename);
  public native int getImageFeatureByMemory();

  public static void main(String[] args) {
  getImageFeature test=new getImageFeature();
  String filename = "D:/testpic/6af1399a64d10a399ad3247c01656bb7.jpg";
  System.out.println(test.getImageFeatureByName(filename)); 
  }
 }

2. 切換到工程src文件夾

javac getImageFeature.java

javah getImageFeature

生成 getImageFeature.h 文件

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class getImageFeature */

#ifndef _Included_getImageFeature
#define _Included_getImageFeature
#ifdef __cplusplus
extern "C" {
#endif
 /*
 * Class:  getImageFeature
 * Method: getImageFeatureByName
 * Signature: (Ljava/lang/String;)I
 */
 JNIEXPORT jint JNICALL Java_getImageFeature_getImageFeatureByName
  (JNIEnv *, jobject, jstring);

 /*
 * Class:  getImageFeature
 * Method: getImageFeatureByMemory
 * Signature: ()I
 */
 JNIEXPORT jint JNICALL Java_getImageFeature_getImageFeatureByMemory
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

3. VS2013建立dll工程

添加getImageFeature.h 頭文件,再添加getImageFeature.cpp文件,實(shí)現(xiàn)對(duì)應(yīng)函數(shù)(工程屬性中需包含jdk下的include目錄)

C:\Program Files\Java\jdk1.8.0_20\include

C:\Program Files\Java\jdk1.8.0_20\include\win32

#include "getImageFeatureDll.h"
#include <opencv2/opencv.hpp>

/*
* Class:  getImageFeature
* Method: getImageFeatureByName
* Signature: (Ljava/lang/String;)I
*/
JNIEXPORT jint JNICALL Java_getImageFeature_getImageFeatureByName
(JNIEnv *env, jobject obj, jstring filename)
{
 const char *str_filename;
 str_filename = env->GetStringUTFChars(filename, false);

 cv::Mat image = cv::imread(str_filename);
 cv::imshow("test", image);
 cv::waitKey(20000);
 return 0;


}

/*
* Class:  getImageFeature
* Method: getImageFeatureByMemory
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_getImageFeature_getImageFeatureByMemory
(JNIEnv *, jobject)
{
 return 0;
}

編譯生成對(duì)應(yīng)的dll

4. 執(zhí)行java程序

將生成dll復(fù)制到j(luò)ava工程src文件夾下,java XX 運(yùn)行程序

以上這篇java通過jni調(diào)用opencv處理圖像的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot配置多數(shù)據(jù)源的四種方式分享

    SpringBoot配置多數(shù)據(jù)源的四種方式分享

    在日常開發(fā)中我們都是以單個(gè)數(shù)據(jù)庫進(jìn)行開發(fā),在小型項(xiàng)目中是完全能夠滿足需求的,但是,當(dāng)我們牽扯到大型項(xiàng)目的時(shí)候,單個(gè)數(shù)據(jù)庫就難以承受用戶的CRUD操作,那么此時(shí),我們就需要使用多個(gè)數(shù)據(jù)源進(jìn)行讀寫分離的操作,本文就給大家介紹SpringBoot配置多數(shù)據(jù)源的方式
    2023-07-07
  • java遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)數(shù)據(jù)完整案例

    java遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)數(shù)據(jù)完整案例

    遞歸算法的代碼比較簡(jiǎn)潔,可讀性較好;但是在實(shí)際的業(yè)務(wù)處理中會(huì)出現(xiàn)多次的重復(fù)調(diào)用,如果處理不好,很容易出現(xiàn)StackOverflowError報(bào)錯(cuò),這篇文章主要給大家介紹了關(guān)于java遞歸實(shí)現(xiàn)樹形結(jié)構(gòu)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Springboot死信隊(duì)列?DLX?配置和使用思路分析

    Springboot死信隊(duì)列?DLX?配置和使用思路分析

    死信隊(duì)列簡(jiǎn)稱就是DLX,死信交換機(jī)和死信隊(duì)列和普通的沒有區(qū)別,當(dāng)消息成為死信后,如果該隊(duì)列綁定了死信交換機(jī),則消息會(huì)被死信交換機(jī)重新路由到死信隊(duì)列,本文給大家介紹Springboot死信隊(duì)列?DLX的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-03-03
  • 淺析JAVA常用JDBC連接數(shù)據(jù)庫的方法總結(jié)

    淺析JAVA常用JDBC連接數(shù)據(jù)庫的方法總結(jié)

    本篇文章是對(duì)在JAVA中常用JDBC連接數(shù)據(jù)庫的方法進(jìn)行了詳細(xì)的總結(jié)分析,需要的朋友參考下
    2013-07-07
  • java代理模式與動(dòng)態(tài)代理模式詳解

    java代理模式與動(dòng)態(tài)代理模式詳解

    代理就是一個(gè)人或者一個(gè)機(jī)構(gòu)代表另一個(gè)人或者另一個(gè)機(jī)構(gòu)采取行動(dòng)。在一些情況下,一個(gè)客戶不想或者不能夠直接引用一個(gè)對(duì)象,而代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之前起到中介的作用
    2014-02-02
  • Java獲取年月日(格式:xxxx年xx月xx日)的方法詳解

    Java獲取年月日(格式:xxxx年xx月xx日)的方法詳解

    在開發(fā)應(yīng)用程序時(shí),經(jīng)常需要獲取當(dāng)前的年、月、日,并以特定格式進(jìn)行展示或處理,本文將介紹如何獲取年月日,并將其格式化為“xxxx年xx月xx日”的形式,幫助你在應(yīng)用程序中處理日期信息,需要的朋友可以參考下
    2023-10-10
  • Java?中導(dǎo)入excel時(shí)使用?trim()?無法去除空格的問題解決方案

    Java?中導(dǎo)入excel時(shí)使用?trim()?無法去除空格的問題解決方案

    這篇文章主要介紹了Java中導(dǎo)入excel時(shí)使用trim()無法去除空格的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • java String的intern方法

    java String的intern方法

    本文主要介紹java 中String 的intern方法,這里主要通過實(shí)例來說明不同版本的JDK,intern方法的對(duì)比,有需要的小伙伴可以參考下
    2016-07-07
  • vue+springboot讀取git的markdown文件并展示功能

    vue+springboot讀取git的markdown文件并展示功能

    Markdown-it 是一個(gè)用于解析和渲染 Markdown 標(biāo)記語言的 JavaScript 庫,使用 Markdown-it,你可以將 Markdown 文本解析為 HTML 輸出,并且可以根據(jù)需要添加功能、擴(kuò)展語法或修改解析行為,本文介紹vue+springboot讀取git的markdown文件并展示,感興趣的朋友一起看看吧
    2024-01-01
  • 關(guān)于java中構(gòu)造函數(shù)的一些知識(shí)詳解

    關(guān)于java中構(gòu)造函數(shù)的一些知識(shí)詳解

    下面小編就為大家?guī)硪黄P(guān)于java中構(gòu)造函數(shù)的一些知識(shí)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12

最新評(píng)論

沂南县| 酒泉市| 萍乡市| 本溪| 梁山县| 灵山县| 卢氏县| 武城县| 靖安县| 泰兴市| 平泉县| 海原县| 武穴市| 永济市| 肃南| 垫江县| 平阳县| 华亭县| 威信县| 洛阳市| 双城市| 米林县| 遂昌县| 秭归县| 富民县| 成安县| 肥乡县| 建昌县| 北安市| 胶州市| 来安县| 上蔡县| 沿河| 麦盖提县| 鞍山市| 南安市| 松溪县| 赣榆县| 南靖县| 潞城市| 杭锦旗|