有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java每像素字节数,每行字节数如何在tessbaseapi中使用函数nativeSetImageBytes。两个人的cpp?

我们正在分析一个显示文本片段的图像,其分辨率为2121x105 px。在Java中,我们有以下代码来获取字节数组(我们的限制之一是在这里使用字节数组):

import org.apache.commons.io.IOUtils;

...

InputStream is = getAssets().open("images/text.png");
byte[] bytes = IOUtils.toByteArray(is);

这个字节数组然后传递给本机C++代码——我们不使用TESS 2的java包装器,但是我们使用本地库。在本机代码中,我们试图获得 使用GetUTF8Text()。然后我们看到tess two已经有了一个实现,可以通过将图像作为字节数组传递来设置要读取的图像:

void Java_com_..._TessBaseAPI_nativeSetImageBytes(JNIEnv *env,
                                                  jobject thiz,
                                                  jlong mNativeData,
                                                  jbyteArray data,
                                                  jint width,
                                                  jint height,
                                                  jint bpp,
                                                  jint bpl) {

...

我们计算出PNG的bpp应该是4(RGBA)。目前尚不清楚bpl的预期效果。如果我们将图像的宽度设置为bpp,我们就会得到一个分割错误。如果我们将其设置为零,则返回一个空字符串

更新: semgentation错误在GetUTF8Text()中抛出,而不是在SetImage()中抛出

SIGSEGV (signal SIGSEGV: invalid address (fault address: 0xc))

共 (0) 个答案