小编Bah*_*dil的帖子

在这个C代码中,表达式如何充当布尔值

基本上我在下面的代码中有两个问题:

const char *x = "abc";
const char *y = "def";

char *res = (char*)malloc(0);
char *z = res;
while (*z++ = *x++);
z--; // remove \0
while (*z++ = *y++);

printf("%s\n", res); // output: abcdef
free(res);
Run Code Online (Sandbox Code Playgroud)

此代码的目的是在一个中添加两个字符串.但是这条线while (*z++ = *x++);如何起作用boolean 1/0,为什么我甚malloc(0);至将它设置为零它也运行良好没有任何问题?

c

5
推荐指数
1
解决办法
148
查看次数

如何在Android Studio中生成.so文件和对应的Java接口

我想生成一个 SO 文件及其对应的 Java 接口,以便在另一个项目中使用它。

到目前为止我做了什么:

我在 Android Studio 2.3.3(2017-08-09 的最新版本)中创建了一个带有“Include C++ support”的项目,并编写了一些 C/C++ 代码并编译它,当我运行该程序时,它被成功调用并返回一个“来自 JNI 的你好”字符串。

所以在那之后,我查看了生成.so文件的输出,但在那里我没有找到这个文件。之后,我在输出文件夹中找到了生成的 APK 文件,当我解压缩它时,我在里面找到了这些文件夹,它们都包含.so文件:

  • arm64-v8a
  • 阿米比
  • armeabi-v7a
  • 米普
  • mips64
  • x86
  • x86_64

现在的问题是,如何将这些.so文件使用到另一个项目中,因此我在互联网上搜索了很多,但不幸的是,我没有找到任何解决方案,他们提到的解决方案都是在文件夹中创建一个文件main夹项目名称,jniLibs并在修改 Gradle 文件后等等......,但没有人在工作。

这里我想知道如何添加.so文件和对应的Java接口在项目中使用呢?

现在我在尝试调用 .so 文件中的 JNI 函数时进入新项目时出现错误。

在此处输入图片说明

java android android-ndk android-studio

5
推荐指数
1
解决办法
3926
查看次数

将日期转换为毫秒,给出错误的结果

我想将两个日期转换为毫秒,但给定的结果是错误的,代码有什么问题吗?如何解决它,否则...

GregorianCalendar c1 = new GregorianCalendar();
GregorianCalendar c2 = new GregorianCalendar();

c1.set(2013, 01, 31, 16, 44, 49);
c2.set(2013, 02, 01, 12, 59, 55);

System.out.println("c1 = "+c1.getTimeInMillis()+"\nc2 = "+ c2.getTimeInMillis());

output:
c1 = 1362300289619
c2 = 1362113995619
Run Code Online (Sandbox Code Playgroud)

在计算时间之后,它给出了这个结果:0Month -2Day -3Hour -44Min -54Sec 这是错误的.并且必须是这样的:0Month 0Day 20Hour 15Min 6Sec.

c1比c2大,因为它给出了错误的结果,但是为什么c1变得大于c2,在这种情况下,不可能计算两个日期之间的时间.如果有人知道请帮助我,提前谢谢.

java date

3
推荐指数
2
解决办法
783
查看次数

OpenCV 3.0 VideoCapture 无法在 Java 中打开视频文件

使用 Java 的 OpenCV 3.0 无法打开视频文件,但它可以与相机一起工作。在我使用 OpenCV 3.0-beta 之前,它在两者中都运行良好,但在 2015 年 4 月 24 日发布的 OpenCV 3.0 中不适用于视频文件。

如果有人知道 OpenCV 3 的这个问题,请告诉我原因以及如何解决这个问题。

opencv3.0

3
推荐指数
1
解决办法
3242
查看次数

如何在图像中的文本区域周围制作边界框?(即使文字是歪斜的!!)

我试图从任何消费产品的广告截取的屏幕截图中检测和抓取文本。

我的代码以一定的精度工作,但无法在倾斜的文本区域周围制作边界框。

最近我尝试了Google Vision API,它在几乎所有可能的文本区域周围制作边界框,并非常准确地检测该区域中的文本。我很好奇我怎样才能达到相同或相似!

我的测试图像:

在此处输入图片说明

边界框后的 Google Vision API:

在此处输入图片说明

先感谢您:)

opencv imagemagick bounding-box python-tesseract google-vision

3
推荐指数
1
解决办法
6391
查看次数

警报对话框中的 Java FX 自定义图片

我很新JavaFx,我正在尝试做的是创建一个带有自定义图片的警报对话框。

首先,我正在使用IntelliJ idea,但我不明白在.jpg项目中的位置(见附图)。

二、在项目中添加图片后,如何进行? 图片

 Alert alert = new Alert(Alert.AlertType.ERROR, "Error", ButtonType.OK);
        alert.showAndWait();
Run Code Online (Sandbox Code Playgroud)

谢谢

java javafx intellij-idea

2
推荐指数
1
解决办法
6761
查看次数

背景减法OpenCV中这两个参数的区别是什么

我使用OpenCV进行前景检测,但我有一个问题,如果有人可以提供帮助.问题在于以下两个参数:

  • 了解费率:bst.apply(currentFame, foregroungMask, learnRate); // -1 for auto, and the range is 0~1
  • bst.setBackgroundRatio(double ratio) // default is 0.8xxx

问题是这两个参数是否相同,如果答案是NO那么第二个参数可以做什么?

当我看到课堂setBackgroundRatio(double ratio)上没有这种方法时,问题就出现了BackgroundSubtractorKNN,但它只是在BackgroundSubtractorMOG2课堂上.但它们都有方法中的学习率参数apply().

注意:我在Java中使用OpenCV

opencv background-subtraction

2
推荐指数
1
解决办法
897
查看次数

如何检测二进制图像中的圆圈

这是原始图像: 在此输入图像描述

并且经过预处理后的图像

  • 灰色
  • 干得好
  • 膨胀
  • 侵蚀
  • bitwise_not

结果如下:

在此输入图像描述

现在我想检测上图中所有填充的圆圈,我想要的结果:

在此输入图像描述

我尝试过这样的事情:

MatOfPoint2f approxCurve = new MatOfPoint2f();
matOfPoint2f.fromList(contour.toList());
Imgproc.approxPolyDP(matOfPoint2f, approxCurve, Imgproc.arcLength(matOfPoint2f, true) * 0.02, true);
long total = approxCurve.total();
// now check the total if it was greater than 6, then it can be a circle
Run Code Online (Sandbox Code Playgroud)

结果是这样的:哪个不是我想要的东西

在此输入图像描述

更新:( 包括更多样本图片)

在此输入图像描述 在此输入图像描述在此输入图像描述

c++ java opencv image-processing

1
推荐指数
1
解决办法
1817
查看次数

有没有办法确定输入流是否是readOnly?

我在想类似的东西

File file =new File(inputStream) // not possible though. file.canWrite,

但我似乎找不到一个解决方案,将输入流转换为文件,而无需将其写入别处.谢谢!

java inputstream

-2
推荐指数
1
解决办法
99
查看次数