小编Mar*_*rek的帖子

计算机视觉 - 用OpenCV过滤凸壳和凸面缺陷

我有处理数字信号的问题.我试图检测指尖,类似于此处介绍的解决方案:使用JavaCV进行手部和手指检测.

但是,我没有使用JavaCV而是使用OpenCV for android,这有点不同.我已经设法完成了本教程中介绍的所有步骤,但过滤了凸包和凸性缺陷.这是我的图像的样子:

分辨率640x480

这是另一个分辨率的图像:

第320x240号决议

你可以清楚地看到,有许多黄点(凸面船体)和许多红点(凸面效应).有时在2个黄点之间没有红点,这很奇怪(如何计算凸包?)

我需要的是创建类似于之前提供的链接的simillar过滤功能,但使用OpenCV的数据结构.

凸壳是MatOfInt的类型......凸性缺陷是MatOfInt4的类型......

我还创建了一些额外的数据结构,因为愚蠢的OpenCV在不同的方法中使用包含相同数据的不同类型的数据......

convexHullMatOfInt = new MatOfInt();
convexHullPointArrayList = new ArrayList<Point>();
convexHullMatOfPoint = new MatOfPoint();
convexHullMatOfPointArrayList = new ArrayList<MatOfPoint>();
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所做的,但效果不佳.问题可能是以错误的方式转换数据:

创建凸包和凸面缺陷:

public void calculateConvexHulls()
{
    convexHullMatOfInt = new MatOfInt();
    convexHullPointArrayList = new ArrayList<Point>();
    convexHullMatOfPoint = new MatOfPoint();
    convexHullMatOfPointArrayList = new ArrayList<MatOfPoint>();

    try {
        //Calculate convex hulls
        if(aproximatedContours.size() > 0)
        {
            Imgproc.convexHull( aproximatedContours.get(0), convexHullMatOfInt, false);

            for(int j=0; j < convexHullMatOfInt.toList().size(); j++)
                convexHullPointArrayList.add(aproximatedContours.get(0).toList().get(convexHullMatOfInt.toList().get(j)));
            convexHullMatOfPoint.fromList(convexHullPointArrayList);
            convexHullMatOfPointArrayList.add(convexHullMatOfPoint);    
        }
    } catch (Exception e) {
        // TODO Auto-generated …
Run Code Online (Sandbox Code Playgroud)

java android opencv computer-vision

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

将整数颜色值转换为RGB

我正在尝试修改第三方软件.我想使用一些方法(我不能修改)返回的颜色作为整数.但是,我想使用RGB格式,如#FF00FF.我该如何进行转换?

这是一个HTML示例http://www.shodor.org/stella2java/rgbint.html 我想在Android上用Java存档相同的东西.

java android colors type-conversion

25
推荐指数
3
解决办法
5万
查看次数

如何从XLS(Excel)文件中读取数据[Java,Android]

我搜索了stackoverflow,但我没有找到一个明确的答案.如何从XLS文件的特定行和列中读取数据到我的Android应用程序?我怎样才能读取XLS文件?我不想将其转换为CSV,因为我在尝试转换它时遇到错误.

也许我可以使用这个http://www.andykhan.com/jexcelapi/tutorial.html#reading但我甚至不知道如何将它导入我的项目.请帮忙.

java excel android

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

Android资源文件夹中res/color和res/values/colors.xml之间的差异

有什么理由,为什么在资源文件夹中我们有两个文件夹可以定义颜色?(根据android开发者页面http://developer.android.com/guide/topics/resources/providing-resources.html#ResourceTypes).

这是android开发者页面的引用:


包含简单值的值/ XML文件,例如字符串,整数和颜色.


定义颜色状态列表的颜色/ XML文件.请参见颜色状态列表资源

存储在res/colors和res/values中的颜色之间有什么区别吗?哪个更优选?

java directory resources android colors

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

如何将主题设置为ProgressDialog?

我想设置progressDialog的主题.要创建它,我使用以下代码:

progressDialog = ProgressDialog.show(this, "Please Wait", "Loading dictionary file....", true, false);
Run Code Online (Sandbox Code Playgroud)

我不能写

progressDialog = new ProgressDialog(...);
progressDialog.(do_sth_with_dialog);
progressDialog.show(...)
Run Code Online (Sandbox Code Playgroud)

因为show()方法是静态的,我得到编译器警告.有没有办法使用可用的常量,如

progressDialog.THEME_HOLO_DARK 
Run Code Online (Sandbox Code Playgroud)

设置对话框主题?

我还想改变Dialog背景并使角落成圆形(我不想用progressDar里面的progressBar改变任何东西.这里有很多教程,但它们通常描述如何创建扩展progressDialog类的新类.

是否有更简单的方法来设置progressDialog的THEME和BACKGROUND颜色?
为什么我可以访问progressDialog.THEME_HOLO_DARK等常量,如果我不能使用它们?

java android themes progressdialog progress-bar

16
推荐指数
2
解决办法
4万
查看次数

将按钮和链接放在particles.js脚本(Z-index)上

我正在尝试使用particles.js脚本,因此粒子将浮动整个页面(具有透明背景).我需要拉出粒子上方的一些链接和按钮,这样它们就可以点击了.

关于链接,我能在大"B"元素上放置大的"C"元素,而在大"C"元素上有小的"b"元素吗?

我所想的是相对意味着相对于其父亲的z-index,而如果我将所有元素设置为绝对,则显示小"b"超过大"C"是可能的,但事实并非如此.有谁可以帮我解释一下?

<div id="A">A<div id="a">a</div></div>
<div id="B">B<div id="b">b</div></div>
<div id="C">C<div id="c">c</div></div>
Run Code Online (Sandbox Code Playgroud)

css html5 z-index

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

挑战:ViewPager的自定义动画.更改所选元素的高度(查看折叠)

我目前正在ViewPager中切换页面之间的自定义动画.当我向左滑动时,View向左移动,从下方移动,新的View将出现在前面.我想制作视图,向左移动(我处理)缩小,如下图所示:

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

在第二张和第三张图片上,我没有想到新的View出现在前面,但我认为没有必要.你知道如何修改代码吗?

我想更改TableLayout,RelativeLayout和FrameLayout的高度,并保持两个TextView的高度.此外,我将不得不改变整个视图的X位置.

我期待着你的创意答案(代码).下面我附上我的动画代码.

import android.view.View;
import android.widget.RelativeLayout;
import android.annotation.SuppressLint;
import android.support.v4.view.ViewPager.PageTransformer;

public class DepthPageTransformer implements PageTransformer {
    private static float MIN_SCALE = 0.75f;

    @SuppressLint("NewApi")
    public void transformPage(View view, float position) {
        int pageWidth = view.getWidth();

        if (position < -1) { // [-Infinity,-1)
            // This page is way off-screen to the left.
            view.setAlpha(0);

        } else if (position <= 0) { // [-1,0]
            // Use the default slide transition when moving to the left page
            view.setTranslationX(0);
            view.setScaleX(1);
            view.setScaleY(1);
            //float scaleFactor = …
Run Code Online (Sandbox Code Playgroud)

java layout animation android android-viewpager

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

使用Trianglify设置di​​v背景

我在使用Trianglify插件时遇到了一些问题.我想用它来设置一个背景div.我怎样才能做到这一点?我找不到合适的例子.

这是我的示例代码:

<script>
    var pattern = Trianglify({
    width: window.innerWidth, 
    height: window.innerHeight
});
document.body.appendChild(pattern.canvas())
</script>
Run Code Online (Sandbox Code Playgroud)

另外,我可以div使用来自Trianglify的不同背景吗?

javascript css background

7
推荐指数
2
解决办法
4335
查看次数

OpenCV中NativeCameraView和JavaCameraView之间的区别

在主题中,有人可以向我解释在OpenCV中使用NativeCameraView和JavaCameraView有什么区别?

目前我使用JavaCameraView来检测指尖,它非常慢.我想知道使用NativeCameraView是否会进行更改?

java android opencv native computer-vision

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

网络服务发现android教程错误:服务丢失,电话关闭

我在尝试从 developer.android.com 学习网络教程时遇到问题。
( http://developer.android.com/training/connect-devices-wireless/nsd.html )
我收到一个错误,有时我的手机会关机。

下面是我的代码:

package com.example.networking;

import java.io.IOException;
import java.net.ServerSocket;

import javax.sound.sampled.Port;

import android.net.nsd.NsdManager;
import android.net.nsd.NsdManager.DiscoveryListener;
import android.net.nsd.NsdManager.RegistrationListener;
import android.net.nsd.NsdManager.ResolveListener;
import android.net.nsd.NsdServiceInfo;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.Menu;

@SuppressLint("NewApi")
public class MainActivity extends Activity {

RegistrationListener mRegistrationListener;
    DiscoveryListener mDiscoveryListener;

    String mServiceName;
    NsdServiceInfo mServiceInfo;
    ServerSocket mServerSocket;
    int mLocalPort;

    NsdManager mNsdManager;

    final String TAG = "---Networking";
    final String SERVICE_TYPE = "_http._tcp.";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Initialize a …
Run Code Online (Sandbox Code Playgroud)

java service port networking android

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