返回介绍

try to load OpenCV.mk from default install location

发布于 2025-02-26 12:46:18 字数 1803 浏览 0 评论 0 收藏 0

include $(TOOLCHAIN_PREBUILT_ROOT)/user/share/OpenCV/OpenCV.mk
else
include $(OPENCV_MK_PATH)
endif
LOCAL_MODULE := ImgFun
LOCAL_SRC_FILES := ImgFun.cpp
include $(BUILD_SHARED_LIBRARY)

再新建一个 Application.mk, 内容输入:

APP_STL:=gnustl_static
APP_CPPFLAGS:=-frtti -fexceptions
APP_ABI:=armeabi armeabi-v7a

然后新建一个 cpp 文件,ImgFun.cpp, 这个测试程序是将一个图片的上半部分弄黑,然后复原。具体的大家看源码。功能很简单。

内容是:

include
include
include
include <opencv2/opencv.hpp>
using namespace cv;
extern "C" {
  JNIEXPORT jintArray JNICALL Java_com_example_haveimgfun2_LibImgFun_ImgFun(
  JNIEnv env, jobject obj, jintArray buf, int w, int h);
  JNIEXPORT jintArray JNICALL Java_com_testopencv_haveimgfun_LibImgFun_ImgFun(
  JNIEnv env, jobject obj, jintArray buf, int w, int h){
    jint cbuf;
    cbuf = env->GetIntArrayElements(buf, false);
    if(cbuf == NULL)
    {
    return 0;
    }
    Mat myimg(h, w, CV_8UC4, (unsigned char)cbuf);
    for(int j=0; j<myimg.rows/2; j++)
    {
    myimg.row(j).setTo(Scalar(0, 0, 0, 0));
    }
    int size=w*h;
    jintArray result = env->NewIntArray(size);
    env->SetIntArrayRegion(result, 0, size, cbuf);
    env->ReleaseIntArrayElements(buf, cbuf, 0);
    return result;
  }
}

然后在终端里切换到 HaveImgFun 目录,也就是在目录/home/yan/TestOpenCV/HaveImgFun 下, 终端输入 ndk-build , 会生成相应的库。
具体的大家下载源程序把!下载连接: http://download.csdn.net/detail/yanzi1225627/5016365

【注,下载后将文件解压。然后 eclipse 里,切换到 TestOpenCV 空间,点 File--import,就可以了。首先测下最后一步,也就是输入 ndk-build, 会不会生成相应的库!】

参考: http://www.cnblogs.com/ldr213/archive/2012/02/20/2359262.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文