标签: processing

使用Processing进行Canny边缘检测

我正在寻找处理语言中的Canny Edge Detection的复制粘贴实现.我对图像处理没有任何想法,关于Processing的知识很少,虽然我很了解java.

有些处理专家可以告诉我是否有办法在处理过程中实现这个http://www.tomgibara.com/computer-vision/CannyEdgeDetector.java

java processing image-processing

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

音乐样本中的谐波计数

为了确定声音的丰富程度,我想确定音乐样本中的谐波数量.为此,我正在使用Processing with Minim库,它为我提供了一个带有FFT的全谱.我想知道如何计算FFT产生的频谱中的所有峰值,我甚至对基频不感兴趣.

audio processing signal-processing spectrum minim

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

有没有办法在Processing中有多个图层?

有没有办法在Processing中有多个图层?

每个图层都有自己的设置/绘图上下文.

processing layer

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

"滚动"FFT是否可行,是否可以使用?

最近我一直在试验音频和FFT,特别是Processing中的Minim库(基本上是Java,而不是它对这个问题特别重要).我所了解的是,使用缓冲区/样本大小N和采样率K,在执行正向FFT之后,我将获得N个频率区间(仅N/2个可用数据,实际上Minim仅返回N/2个区间)线性间隔表示从0到K/2HZ的光谱.

使用Minim(以及其他典型的FFT实现),您需要等待收集N个样本,然后执行正向变换,然后再等待N个样本,依此类推.为了获得合理的帧速率(用于音频可视化,节拍检测等),我必须使用相对于采样频率的小样本量.

然而,问题在于,当我计算对数间隔平均值时,小样本量导致频谱低端的分辨率非常低(因为低音八度音程比高音调八度音程窄得多).

我想知道一种可能的方法来挤出更明显的分辨率是否比在我目前使用的稍大的样本大小上每N个样本更频繁地执行FFT.(输入缓冲区大小为2048的IE,每100个样本,将这些样本添加到输入缓冲区并删除最旧的100个样本,并执行FFT).看起来这可能会产生滚动平均类型的影响(我可以忍受),但我不太确定.

这种方法的优点和缺点是什么?有没有其他方法可以提高我的表观分辨率,同时仍然能够进行实时可视化和分析?

processing signal-processing fft

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

多线程Java

在我的程序中,我基本上有一个类似于的方法:

for (int x=0; x<numberofimagesinmyfolder; x++){
    for(int y=0; y<numberofimagesinmyfolder; y++){
        compare(imagex,imagey);
        if(match==true){
            System.out.println("image x matches image y");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以基本上我有一个图像文件夹,我比较所有图像组合...所以比较图像1与所有图像,然后图像2 ......等等.我的问题是在搜索什么图像匹配时,需要很长时间.我试图多线程这个过程.有没有人知道如何做到这一点?

java processing performance multithreading

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

通过蓝牙将数据从Arduino发送到Android应用程序

您好我可以将数据从android发送到arduino但我无法通过蓝牙将数据从arduino发送到android上我没有得到任何错误但我看不到任何显示的Android应用程序..我用于blueToothSerial.print(XXX); 对于arduino side ..并使用了文本(readMessage,width,heigth); 处理方.请检查一下 .我的错在哪里?.我错过了什么?提前致谢

**在arduino方面**

#include <SoftwareSerial.h>
#include <Stepper.h>
#define RxD 6 // This is the pin that the Bluetooth (BT_TX) will transmit to the Arduino (RxD)
#define TxD 7 // This is the pin that the Bluetooth (BT_RX) will receive from the Arduino (TxD)
#define DEBUG_ENABLED 1
#define RELAY 4

SoftwareSerial blueToothSerial(RxD, TxD);  
int led = 9 ;
int in1Pin = 10;
int in2Pin = 12;
int in3Pin = 11;
int in4Pin = 13;
data = 100; …
Run Code Online (Sandbox Code Playgroud)

processing android data-transfer bluetooth arduino

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

使用WebCam检测HeartBeat?

我正在尝试创建一个可以使用您的计算机网络摄像头检测心跳的应用程序.我从2周开始编写代码并开发了这段代码,到目前为止我已经完成了

它是如何工作的?如下图所示......

  1. 使用opencv检测面部
  2. 获得额头的图像
  3. 应用滤镜将其转换为灰度图像[可以跳过]
  4. 找到每帧绿色像素的平均强度
  5. 将平均值保存到数组中
  6. 应用FFT(我使用了最小的库)从FFT谱中提取心跳(这里,我需要一些帮助)

在这里,我需要帮助从FFT频谱中提取心跳.谁能帮我.在这里,是在python中开发的类似应用程序,但我无法解释这个代码,所以我在开发过程中开发相同.任何人都可以帮助我低估这个python代码中提取心跳的部分.

//---------import required ilbrary -----------
import gab.opencv.*;
import processing.video.*;
import java.awt.*;
import java.util.*;
import ddf.minim.analysis.*;
import ddf.minim.*;
//----------create objects---------------------------------
Capture video; // camera object
OpenCV opencv; // opencv object
Minim       minim;
FFT         fft;
//IIRFilter filt;
//--------- Create ArrayList--------------------------------
ArrayList<Float> poop = new ArrayList(); 
float[] sample;
int bufferSize = 128;
int sampleRate = 512;
int bandWidth = 20;
int centerFreq = 80;
//---------------------------------------------------
void setup() {
  size(640, 480); // size of …
Run Code Online (Sandbox Code Playgroud)

processing image-processing heartbeat javacv

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

如何在粒子系统处理中制作滑动构件

我在Processing中模拟粒子系统.基于丹尼尔希夫曼的"本质的代码"一书,我做了一个弹簧,然后我开始尝试使用滑块做一个基于滑块的长度更长或更短的滑块.

现在,我试图制作一个滑块滑动,两个粒子移动到两个粒子的相同方向.我使用PVector添加,找到新位置并绘制节点,但是当我有多个成员且一个受其他成员影响时它不起作用.我需要使用一个force来执行此操作:请参阅applyForce()函数.

void update(float distance) {
  PVector force = PVector.sub(b.location, a.location); 
  float d = force.mag();
  float x = d - distance;
 //direction of the force
  force.normalize();
  force.mult(-1 * k* x/mass);
 //apply to one node
  b.applyForce(force); 
  force.mult(-1);
 //apply opposite to the other node
  a.applyForce(force);
}

//Newton's law: F = M * A
void applyForce(PVector force) {
  PVector f = force.get();
  f.div(mass);
  acceleration.add(f);
}
Run Code Online (Sandbox Code Playgroud)

检查下图:

图

(a)是我想要的,(b)它现在是怎么做的.

在第一个例子中,长度相同,成员滑动(两个粒子).

在第二个中,长度更大并且不会滑动

如果您知道如何施加滑动构件的力,请告诉我.

谢谢

simulation processing spring particle-system

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

如何在非处理IDE中运行Processing的Python模式?

"处理Python模式"文件Tutorials/overview/index.html指出"高级程序员不需要使用PDE,而是可以选择在所选的Python环境中使用它的库."

不幸的是,它没有说明如何做到这一点,我在他们的文档中,或在这里或其他任何地方找不到任何其他信息.

我选择的环境是PyCharm社区版和Jupyter笔记本.如果它是相关的,我在运行OS X 10.11.5(El Capitan)的Mac上.

任何人都可以告诉我必须做什么,以便我可以使用"Python模式处理"库在这些环境中编写和运行Python代码?

python ide processing

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

Firebase Javascript + P5.js:异步函数阻碍了重绘画布

我正在尝试创建一个应用程序,通过从存储圆圈的x和y坐标的Firebase数据库中读取信息,将圆圈绘制到画布上.然而,执行下面的代码,根本不产生任何东西,没有圆圈的任何迹象,因为函数drawCricles异步运行,因此命令background(40)在绘制圆之前清除所有内容.

这是我的代码:

function setup() {
    createCanvas(windowWidth, windowHeight); 
    background(40); 
    stroke(80); 
    smooth();
    frameRate(60);
}

function drawCircles() {
    firebase.database().ref("circles").once("value", function(snapshot) {
        var snapshotVal = snapshot.val();
        var circleCount = snapshotVal.numCircles;

        for (var j = 0; j < circleCount; j++) {
            firebase.database().ref("circles" + j).once("value", function(snapshot) {
                var snapshotValue = snapshot.val();
                fill(143, 2, 2);
                ellipse(snapshotValue.xPos, 50, 50);
            });
        }
    });
}

function draw() {
    stroke(80);
    background(40);

    stroke(0);
    drawCircles(); 
}
Run Code Online (Sandbox Code Playgroud)

html javascript processing firebase p5.js

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