小编Sam*_*nga的帖子

获取opencv中聚集在一起的多个近似行的单行表示

我在一个图像中检测到了行,并使用HoughLinesP方法将它们绘制在OpenCv C++中的单独图像文件中.以下是该结果图像的一部分.实际上有数百条细线和细线形成一条大单线.

在此输入图像描述

但我想要一些代表所有这些行数的行.较近的线应该合并在一起形成一条线.例如,上面的行集应该由下面的3个单独的行表示.

在此输入图像描述

预期产量如上.如何完成这项任务.



到目前为止,akarsakov的答案取得了进展.


(产生的不同类别的行以不同的颜色绘制).请注意,此结果是我正在处理的原始完整图像,但不是我在问题中使用的示例部分

在此输入图像描述

c++ merge opencv image-processing line

25
推荐指数
4
解决办法
1万
查看次数

在不使用gps或互联网的情况下获取用户的当前位置名称,但在android中使用Network_Provider

这个问题与" Android:获取用户的当前位置而不使用gps或互联网 " 相同的主流stackoverflow问题直接相关,其中接受的答案实际上没有回答问题.

我应该能够通过网络提供商而不是GPS或互联网获取设备的当前位置名称(例如:城市名称,村庄名称).以下是该问题的公认答案.(以下代码部分应包含在onCreate()方法中)

// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
      // Called when a new location is found by the network location provider.
      makeUseOfNewLocation(location);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {}

    public void onProviderDisabled(String provider) {}
  };

// Register the listener …
Run Code Online (Sandbox Code Playgroud)

java android location locationmanager

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

VFY:无法解析静态方法10876:Android

我在我的程序中使用了SmsCbMessage.java类.它取自http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/telephony/SmsCbMessage.java#SmsCbMessage 以下是我的程序.

package com.android.internal.telephony;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import android.telephony.SmsCbMessage;
import android.widget.Toast;

public class MainActivity extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //---get the CB message passed in---
        Bundle bundle = intent.getExtras();
        SmsCbMessage[] msgs = null;
        String str = "";
        if (bundle != null)  {
            //---retrieve the SMS message received---
            Object[] pdus = (Object[]) bundle.get("pdus");
            msgs = new SmsCbMessage[pdus.length];
            for (int i=0; i<msgs.length; i++) {
                msgs[i] = SmsCbMessage.createFromPdu((byte[])pdus[i]);
                str += "CB …
Run Code Online (Sandbox Code Playgroud)

java android

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

countNonZero函数在openCV中给出一个断言错误

我尝试使用countNonZero()函数进行水平投影,如下所示.

Mat src = imread(INPUT_FILE, CV_LOAD_IMAGE_COLOR);
Mat binaryImage = src.clone();
cvtColor(src, src, CV_BGR2GRAY);

Mat horizontal = Mat::zeros(1,binaryImage.cols, CV_8UC1);

for (int i = 0; i<binaryImage.cols; i++)
{
    Mat roi = binaryImage(Rect(0, 0, 1, binaryImage.rows));

    horizontal.at<int>(0,i) = countNonZero(roi);
    cout << "Col no:" << i << " >>" << horizontal.at<int>(0, i);
}
Run Code Online (Sandbox Code Playgroud)

但是在调用countonZero()函数时出现错误.错误如下.

    OpenCV Error: Assertion failed (src.channels() == 1 && func != 0) in cv::countNo
    nZero, file C:\builds\2_4_PackSlave-win32-vc12-shared\opencv\modules\core\src\st
    at.cpp, line 549
Run Code Online (Sandbox Code Playgroud)

有人可以指出错误吗?

c++ opencv assertion projection-matrix

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

如何在 Ballerina 中实现继承

我可以在 Ballerina 文档中看到以下关于类型等价和继承的描述。

Ballerina 基于类型等效,而不是类型继承。Ballerina 中的类型系统基于集合论,因此,对于这个领域,类型等价比类型继承更有意义。

那么有人可以让我知道如何使用这个集合理论来实现“继承”的概念或类似的功能吗?我们如何重用函数/类变量等?有这样做的标准方法吗?如果有我可以参考的示例/博客,请分享。

https://v0-991.ballerina.io/learn/faq/#why-is-there-no-type-in​​heritance

wso2 ballerina

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

注意:获取Javadoc时发生异常.有关详细信息,请参阅日志.-eclipse

我为SWT(org.eclipse.swt.gtk.linux.x86_64_3.102.1.v20140206-1358.jar)添加了java doc位置" http://help.eclipse.org/stable/nftopic/org.eclipse.platform .doc.isv/reference/api / "但之后,当我将鼠标指针移动到编辑器上的SWT类名或方法名时,它会弹出上面的消息.如何解决这个问题并获得实际的java doc详细信息.

java eclipse swt javadoc

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

Windows在运行长C++ Visual Studio程序时会休眠

我使用的是Windows 8.1,Visual Studio 2013,我有一个运行超过15分钟的C++项目.但问题是当我还在调试时窗口进入睡眠状态.

我知道这是因为在运行程序(调试)时超出了睡眠等待时间,我可以通过增加睡眠等待时间或在Windows控制面板电源设置中将设置设置为"从不"来轻松停止.

但我想要一个基于编程或Visual Studio的解决方案.我希望我的计算机不要在程序的执行(调试)中睡觉.

c++ visual-studio-debugging visual-studio-2013 windows-8.1 sleep-mode

6
推荐指数
2
解决办法
804
查看次数

如何通过鼠标左键单击swt来显示弹出菜单?

如何通过鼠标左键单击显示弹出菜单?我知道默认是鼠标右键单击.但我想通过正常选择按钮来扩展(显示)菜单.(通过正常的左键单击).如何通过正常的右键单击弹出一个弹出菜单如下.

final Button btnNewgroup = new Button(compositeTextClient, SWT.NONE);
Menu menu = new Menu(btnNewgroup);
btnNewgroup.setMenu(menu);
MenuItem mntmNewItem = new MenuItem(menu, SWT.NONE);
mntmNewItem.setText("New Item");
MenuItem mntmNewItem2 = new MenuItem(menu, SWT.NONE);
mntmNewItem2.setText("New Item2");
Run Code Online (Sandbox Code Playgroud)

java swt menu click mouseleftbuttondown

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

如何解释由于cvtColor函数中的错误导致的c ++ opencv断言错误消息?

以下是在opencv中调用cvtColor()函数时的断言错误报告(显示在控制台上),在Mat对象上给出参数CV_GRAY2BGR,该对象已经是BGR图像.我想知道如何解释这个错误信息的人还不知道这里的错误是什么.(希望一些博学者不会投票把这个问题作为主题关闭,因为我知道学习阅读断言或c ++新手的任何其他错误信息都有很大的价值.)我猜这可能是最有可能的关于读取断言错误的opencv问题.

OpenCV Error: Assertion failed (scn == 1 && (dcn == 3 ||
 dcn == 4)) in cv::cvtColor, file C:\builds\2_4_PackSlave-win32-vc12-shared\open
cv\modules\imgproc\src\color.cpp, line 3791
Run Code Online (Sandbox Code Playgroud)

我知道这里测试了2个条件,

  1. (scn == 1)
  2. (dcn == 3 || dcn == 4)

其中一个应该失败,这导致了断言错误.如何区分和澄清失败的情况?可能是我可能要寻求cvtColor函数源代码,这将没有问题.(实际上我做了但是我找不到那个名为scn或dcn的变量,那里的improc.cpp类)

c++ opencv assertion

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

JAVA_HOME环境变量和"java -version"的输出有什么区别

实际上JAVA_HOME环境变量是什么?我有点怀疑.通过设置它做了什么?我还有另一个问题,如果我们在操作系统中有两个或更多JDK,我们可以设置一个版本的路径来设置$ JAVA_HOME变量,另一个版本作为运行java的机器中的"java -version"显示我认为在ubuntu中,java --version命令给出了JRE配置(运行java)版本的java和JAVA_HOME变量定义了用于编译java程序的版本.我对么?实际上这两个输出引用的jdks之间的区别是什么 -

    1. echo $JAVA_HOME 
    2. java -version
Run Code Online (Sandbox Code Playgroud)

java environment-variables java-home

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

如何从序言中的列表中修剪前 N 个元素

如何编写 prolog 程序以使用 conc 操作从 prolog 中的 List 中修剪前 N 个元素。

trim(L1,N,L2) which is true if L2 contains the first N elements of L1 
Run Code Online (Sandbox Code Playgroud)

有人能帮帮我吗。

这是我的答案,正确吗?

trim(L1, N, L2):- conc(L2,T,L1), length(L2,N),length(L1,N2), N2>= N
Run Code Online (Sandbox Code Playgroud)

concat list trim prolog

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