将Objective-C代码转换为Java会产生编译错误

雷内蒂克

这是用目标C ++编写的可编译代码的一部分

cv::Mat blurred(image);
medianBlur(image, blurred, 9);

cv::Mat gray0(blurred.size(), CV_8U), gray;
cv::vector<cv::vector<cv::Point> > contours;

for (int c = 0; c < 3; c++)
{
    int ch[] = {c, 0};
    mixChannels(&blurred, 1, &gray0, 1, ch, 1);

    const int threshold_level = 2;
    for (int l = 0; l < threshold_level; l++)
    {
        if (l == 0)
        {
            Canny(gray0, gray, 50, 150, 3); 
            dilate(gray, gray, cv::Mat(), cv::Point(-1,-1));
        }
        else
        {
            gray = gray0 >= (l+1) * 255 / threshold_level;

//这里是AppCode中的编译问题,但是代码可以编译并且可以正常工作...} ....

这是我用Java编写的方式,但是我停在了最后一行,我不明白并且不能用Java编写以正确地进行编译。即使在AppCode编辑器中,将其作为obecectiv-c代码也突出显示为错误,但编译时没有问题。因此,我认为AppCode解析器在理解它方面也存在问题,但是无论如何代码都可以正常工作,而且我也看到了AppCode解析器的其他问题,所以我不在乎,我使用静态导入,但是我需要了解的只是最后一行,代码继续更进一步,非常复杂...

    Mat blurred = new Mat();
    Imgproc.medianBlur(image, blurred, 9);  
    Mat gray0 = new Mat(blurred.size(), CvType.CV_8U);
    Mat gray = new Mat();
    Vector<Vector<Point>> contours = new Vector<>();

    for (int c = 0; c < 3; c++) {
        int ch[] = {c, 0};
        Core.mixChannels(list(blurred), list(gray0), new MatOfInt(ch));
        int threshold_level = 2;
        for (int l = 0; l < threshold_level; l++) {
            if (l == 0) {
                Canny(gray0, gray, 50, 150, 3, false);
                dilate(gray, gray, new Mat(), new Point(-1, -1), 1);
            } else {
                gray = gray0 >= (l + 1) * 255 / threshold_level;  //here is compile problem and I don't understand line at all...
            }
        }
    }
布鲁姆斯

正如我在上面建议的那样,它看起来像cv :: Mat有一些重载的运算符,这些运算符隐藏了某些功能。此文档表明至少有一些运算符已超载。

这是该魔术系列在Java中的最终解决方案:

 Core.compare(gray0, new Mat(gray0.size(), gray0.type(), new Scalar((l + 1) * 255 / threshold_level)), gray, Core.CMP_GE);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#将每个循环的VBA转换为C#,但会产生编译错误

来自分类Dev

将Java代码转换为Objective C

来自分类Dev

将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

来自分类Dev

将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

来自分类Dev

在vue组件的<script lang =“ ts”>代码内将查询选择器结果转换为HTMLElement时发生编译错误

来自分类Dev

使用Objective-C工厂方法在Swift中创建对象会产生编译器错误

来自分类Dev

将 Swift 代码转换为 Objective-C 错误

来自分类Dev

将代码从 Swift 转换为 Objective C?

来自分类Dev

将Hashmap Java代码转换为Objective C

来自分类Dev

为什么将短变量分配给Integer引用会产生编译时错误?

来自分类Dev

将java.util.list转换为java.util.list时发生编译器错误?

来自分类Dev

如何将Objective-C代码转换为Swift代码-错误处理,iOS

来自分类Dev

将代码从Objective-C转换为Swift

来自分类Dev

将Objective-C代码转换为Swift

来自分类Dev

将Windows C ++项目从Qt4移至5会产生数百个看似无关的编译错误

来自分类Dev

无法将“卡片”转换为“int”-C++ 编译错误

来自分类Dev

将Java方法转换为Objective-C

来自分类Dev

将Dictionary转换为AnyObject时发生编译器错误?

来自分类Dev

如何将位操作代码从Java转换为Objective-C?

来自分类Dev

设置委托会产生编译错误

来自分类Dev

为什么#region会产生编译错误?

来自分类Dev

与varargs()匹配会产生编译错误

来自分类Dev

Java将日期转换为纪元值会产生错误的输出

来自分类Dev

将INT转换为String会产生错误

来自分类Dev

可选将AnyObject强制转换为Array会产生错误

来自分类Dev

将Objective C ++用于WatchKit

来自分类Dev

Java:将实现列表的映射分配给通用类型的列表的映射时发生编译错误

来自分类Dev

Java泛型编译错误:类型不兼容:无法将Item#1转换为Item#2

来自分类Dev

将Swift转换为Objective-C的编译器警告说明?

Related 相关文章

  1. 1

    C#将每个循环的VBA转换为C#,但会产生编译错误

  2. 2

    将Java代码转换为Objective C

  3. 3

    将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

  4. 4

    将java.sql.Connection转换为oracle.jdbc.OracleConnection会导致编译错误

  5. 5

    在vue组件的<script lang =“ ts”>代码内将查询选择器结果转换为HTMLElement时发生编译错误

  6. 6

    使用Objective-C工厂方法在Swift中创建对象会产生编译器错误

  7. 7

    将 Swift 代码转换为 Objective-C 错误

  8. 8

    将代码从 Swift 转换为 Objective C?

  9. 9

    将Hashmap Java代码转换为Objective C

  10. 10

    为什么将短变量分配给Integer引用会产生编译时错误?

  11. 11

    将java.util.list转换为java.util.list时发生编译器错误?

  12. 12

    如何将Objective-C代码转换为Swift代码-错误处理,iOS

  13. 13

    将代码从Objective-C转换为Swift

  14. 14

    将Objective-C代码转换为Swift

  15. 15

    将Windows C ++项目从Qt4移至5会产生数百个看似无关的编译错误

  16. 16

    无法将“卡片”转换为“int”-C++ 编译错误

  17. 17

    将Java方法转换为Objective-C

  18. 18

    将Dictionary转换为AnyObject时发生编译器错误?

  19. 19

    如何将位操作代码从Java转换为Objective-C?

  20. 20

    设置委托会产生编译错误

  21. 21

    为什么#region会产生编译错误?

  22. 22

    与varargs()匹配会产生编译错误

  23. 23

    Java将日期转换为纪元值会产生错误的输出

  24. 24

    将INT转换为String会产生错误

  25. 25

    可选将AnyObject强制转换为Array会产生错误

  26. 26

    将Objective C ++用于WatchKit

  27. 27

    Java:将实现列表的映射分配给通用类型的列表的映射时发生编译错误

  28. 28

    Java泛型编译错误:类型不兼容:无法将Item#1转换为Item#2

  29. 29

    将Swift转换为Objective-C的编译器警告说明?

热门标签

归档