小编Rad*_*dek的帖子

在java中向零舍入

如何在java中向零舍入?

因此-1.9变为-1.0,-0.2变为0.0,3.4变为3.0,依此类推.

是否Math.round()能够做到这改变某些参数的?

java

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

隐马尔可夫模型阈值

我开发了一个使用mfcc和隐马尔可夫模型进行声音识别的概念验证系统.当我在已知声音上测试系统时,它给出了有希望的结果.虽然系统在输入未知声音时返回最接近匹配的结果,并且分数不是那么明显,以设计它是未知声音,例如:

我训练了3个隐藏的马尔可夫模型,一个用于演讲,一个用于水龙头,一个用于敲桌子.然后我在看不见的数据上测试它们并得到以下结果:

input: speech
HMM\knocking:  -1213.8911146444477
HMM\speech:  -617.8735676792728
HMM\watertap:  -1504.4735097322673

So highest score speech which is correct

input: watertap
HMM\knocking:  -3715.7246152783955
HMM\speech:  -4302.67960438553
HMM\watertap:  -1965.6149147201534

So highest score watertap which is correct

input: knocking
HMM\filler  -806.7248912250212
HMM\knocking:  -756.4428782636676
HMM\speech:  -1201.686687761133
HMM\watertap:  -3025.181144273698

So highest score knocking which is correct

input: unknown
HMM\knocking:  -4369.1702184688975
HMM\speech:  -5090.37122832872
HMM\watertap:  -7717.501505674925
Run Code Online (Sandbox Code Playgroud)

这里的输入是一个未知的声音,但它仍然返回最接近的匹配,因为没有用于阈值/垃圾过滤的系统.

我知道在关键字定位中,OOV(词汇表外)声音可以使用垃圾或填充模型过滤掉,但是它表示它是使用一组有限的未知单词进行训练的,因为我不能将其应用到我的系统中不知道系统可能录制的所有声音.

如何在语音识别系统中解决类似的问题?我怎样才能解决我的问题以避免误报?

java algorithm speech-recognition artificial-intelligence hidden-markov-models

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

如何获得图像的高度和宽度?

为什么下面的代码返回高度:-1表示高度尚未知晓.如何获得图像的高度?

 try {
        // Create a URL for the image's location
        URL url = new URL("http://bmw-2006.auto-one.co.uk/wp-content/uploads/bmw-m3-2006-3.jpg");

        // Get the image
        java.awt.Image image = Toolkit.getDefaultToolkit().createImage(url);

        System.out.println("Height: " + image.getHeight(null));


    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
Run Code Online (Sandbox Code Playgroud)

java asynchronous image

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

nlg建一句话

我想生成一个输入单词的句子.例如

输入:

Mary
chase
the monkey
Run Code Online (Sandbox Code Playgroud)

输出:

Mary chases the monkey.
Run Code Online (Sandbox Code Playgroud)

这可以使用simpleNLG库来完成:http://code.google.com/p/simplenlg/,方法如下:

String subject = "Mary";
String verb = "chase";
String object = "the monkey";

p.setSubject(subject);
p.setVerb(verb);
p.setObject(object);

String output = realiser.realiseSentence(p);
System.out.println(output);
Run Code Online (Sandbox Code Playgroud)

这将产生玛丽追逐猴子的句子.但是我想让它自动化,我输入单词并生成句子.这将需要一些预处理,该预处理将指定哪个单词是主语哪个单词是动词,哪个是对象.我知道有POS(词性)标记库,但它们没有指定它是主题还是对象.有任何建议如何做到这一点?也适用于使用多个对象,副词等更大的句子.

nlp

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

在matlab和java中的fft

我使用jtransforms库在matlab和java中做了fft,但结果略有不同.

Matlab results:
-0.0530528652679544
-0.00775535711930750 + 0.0281791646147104i
-0.0304104457750988 - 0.209776156064443i
0.266945753193636 + 0.200338044445226i

Jtransforms results:
-0.05305448436232618
-0.007755593801247046 + 0.028180024600812384
-0.03041137385657606 -0.20978255812004887
0.26695389998013486 + 0.20034415846373468
Run Code Online (Sandbox Code Playgroud)

结果是不同的还是Matlab只是四舍五入?

java matlab fft

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

sapui5表只显示相同的记录

我创建了一个 Web 服务并尝试使用 SAPUI5 中的 oData 协议绑定数据。

我创建了一个表:

createContent : function(oController) {

      jQuery.sap.require("sap.ui.table.Table");

      //Create table control with properties

      var oTable = new sap.ui.table.Table({
          width : "100%",
          rowHeight : 50,
          title : "Lst of Items",
          selectionMode : sap.ui.table.SelectionMode.None
      });



      oTable.addColumn(new sap.ui.table.Column({
          label : new sap.ui.commons.Label({
          text : "PO Number"
          }),
          template : new sap.ui.commons.TextView({
          text : "{PoNumber}"
          }),
          }
      ));

      oTable.addColumn(new sap.ui.table.Column({
          label : new sap.ui.commons.Label({
          text : "Item"
          }),
          template : new sap.ui.commons.TextView({
          text : "{PoItem}"
          }),
          }
      ));

      //Filter …
Run Code Online (Sandbox Code Playgroud)

odata sapui5 sap-gateway

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

阅读wav文件java vs matlab

我试图在java和matlab中读取.wav文件的数据并保存为字节数组.

在java中,代码如下所示:

 public byte[] readWav2(File file) throws UnsupportedAudioFileException, IOException {

     AudioFormat audioFormat;

     AudioInputStream inputAIS = AudioSystem.getAudioInputStream(file);
     audioFormat = inputAIS.getFormat();
     ByteArrayOutputStream baos = new ByteArrayOutputStream();

     // Read the audio data into a memory buffer.
     int nBufferSize = BUFFER_LENGTH * audioFormat.getFrameSize();


        byte[] abBuffer = new byte[nBufferSize];
        while (true) {

            int nBytesRead = inputAIS.read(abBuffer);

            if (nBytesRead == -1) {
                break;
            }
            baos.write(abBuffer, 0, nBytesRead);
        }

        byte[] abAudioData = baos.toByteArray();


        return abAudioData;
    }
Run Code Online (Sandbox Code Playgroud)

在matlab中我使用的是wavread函数:

[Y, FS] = wavread('sound.wav', 'native');
Run Code Online (Sandbox Code Playgroud)

但我得到的结果是不同的.

在java中前20个字节:

53, 0, 19, …
Run Code Online (Sandbox Code Playgroud)

java matlab javasound

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

JNI对ubuntu的链接错误不满意

我在Ubuntu下使用Java和Netbeans.我正在与JNI合作,并希望在Linux中加载dll,它具有".so"扩展名.为什么这段代码有效:

static {
    System.load("/home/user/NetBeansProjects/JD2XX-DLL2/dist/jd2xx.so");
}
Run Code Online (Sandbox Code Playgroud)

但这不是:

static {
    System.loadLibrary("jd2xx");
}
Run Code Online (Sandbox Code Playgroud)

使用netbeans中指定的VM选项:

-Djava.library.path="/home/user/NetBeansProjects/JD2XX-DLL2/dist/"
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: 
  no jd2xx.so in java.library.path
Run Code Online (Sandbox Code Playgroud)

这适用于Windows下的我.

java java-native-interface

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

写入java中的文本文件

我有以下函数写入文件:

public void writeToFile(String data) throws IOException {
    FileWriter fstream = null;


    try {
        fstream = new FileWriter("out.txt");
        BufferedWriter out = new BufferedWriter(fstream);
        out.write(data);
        //Close the output stream
        out.close();
    } catch (IOException ex) {
        Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        try {
            fstream.close();
        } catch (IOException ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

每次调用它时它会做什么创建一个新文件并写一个新行.我想要实现的是检查文件是否存在.如果没有创建新文件并写入内容(如果存在),则打开文件并添加新行而不删除现有文本.怎么做?

java

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

android摄像头+活动分屏

是否有可能在同一屏幕中具有相机预览和第二个活动的分屏?碎片能完成这项工作吗?(我是android的新手,从未使用过片段).我正在将屏幕颜色从RGB转换为HSV(使用OpenCV),并希望使用搜索条操纵H,S和V的值.目前我正在通过以下方式执行此操作:

1)按按钮进入新活动并使用搜索栏设置值2)按按钮返回摄像机预览并使用意图获取HSV值

但是这需要在活动之间进行大量切换并检查我是否达到了预期效果,并且我希望实现实时预览,因此在更改值时我会立即看到更改.有没有办法做到这一点?

android

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

扩展BufferedImage

为什么以下代码显示黑色图像而不是图片?如何正确扩展BufferedImage?

class SizeOfImage {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://cloudbite.co.uk/wp-content/uploads/2011/03/google-chrome-logo-v1.jpg");
        final BufferedImage bi = ImageIO.read(url);
        final String size = bi.getWidth() + "x" + bi.getHeight();

        final  CustomImg cstImg = new CustomImg(bi.getWidth(), bi.getHeight(), bi.getType());

        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                JLabel l = new JLabel(size, new ImageIcon(cstImg), SwingConstants.RIGHT);
                JOptionPane.showMessageDialog(null, l);
            }
        });
    }

    public static class CustomImg extends BufferedImage {

        public CustomImg(int width, int height, int type){
            super(width, height, type);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

java swing bufferedimage image jlabel

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

android sqlite查询优化

我有一个SQLite数据库,有大约40万个条目.要查询db我使用以下方法:

public double lookUpBigramFrequency(String bigram) throws SQLException {

        SQLiteDatabase db = dbh.getReadableDatabase();
        double frequency = 0;
        bigram = bigram.toLowerCase();

        String select = "SELECT frequency FROM bigrams WHERE bigram = '"
                + bigram + "'";

        Cursor mCursor = db.rawQuery(select, null);
        if (mCursor != null) {

            if (mCursor.moveToFirst()) {
                frequency = Double.parseDouble(mCursor.getString(0));
            } else {
                frequency = 0;
            }
        }

        return frequency;


    }
Run Code Online (Sandbox Code Playgroud)

但是检索单个条目并且查询很少需要大约0.5秒,它会建立并且方法执行10秒.怎么说出来?

sqlite android

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