gpt4 book ai didi

android - 未找到原生 Stitch 的实现

转载 作者:搜寻专家 更新时间:2023-11-01 08:07:42 26 4
gpt4 key购买 nike

我在android项目中使用opencv拼接。

public class MainActivity extends Activity implements OnClickListener {

private String mWarpType;
private String mMatchConf;
private String mConfThresh;

private SharedPreferences mSettings;
public static final String SETTINGS = "Pano_Settings";

private final String SETTINGS_WARP_TYPE = "warp";
private final String SETTINGS_MATCH_CONF = "match_conf";
private final String SETTINGS_CONF_THRESH = "conf_thresh";

private String mDefaultWarpType = "spherical";
private String mDefaultMatchConf = "0.5";
private String mDefaultConfThresh = "0.8";
...

public native int Stitch(Object[] args);

public void onClick(View v) {
switch (v.getId()) {
case R.id.GoButton:

List<String> s = new ArrayList<String>();
s.add("Stitch");
s.add("/sdcard/tesseract/images1.jpeg");
s.add("/sdcard/tesseract/images2.jpeg");

s.add("--warp");
s.add(mWarpType);
s.add("--conf_thresh");
s.add(mConfThresh);
s.add("--match_conf");
s.add(mMatchConf);

s.add("--work_megapix");
s.add("0.2");
s.add("--seam_megapix");
s.add("0.2");
s.add("--expos_comp");
s.add("gain");
s.add("--output");
s.add("/sdcard/tesseract/");

Integer i = Stitch(s.toArray());
Log.d("1",i.toString());
break;
default:
break;
}
}

}

应用程序已启动,但在调用 Stitch(s.toArray()) 时出现错误:

W/dalvikvm(15392): No implementation found for native Lcom/prototype/MainActivity;.Stitch ([Ljava/lang/Object;)I

在工作区和我的项目中成功添加OpenCV -> 属性 -> Android -> 库添加 -> OpenCV lib 项目版本 OpenCV 2.4.2。示例取自项目 android-opencv-panorama。

最佳答案

您可能从示例中“按原样”复制了 native 代码,但您的 Java 类具有不同的包和名称。查找名为 Java_<some more>_Stitch() 的函数在您的 cpp 文件中,并将其重命名为:

Java_com_prototype_MainActivity_Stitch()

关于android - 未找到原生 Stitch 的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12968366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com