posted @ 2011-08-31 10:59 kodos 阅读(1723) 评论(3) 编辑
最近在看HTML5,首次使用Image就遇到了问题;直接看代码:
<canvas width="800" height="600" id="mycanvas" style="border: 1px solid #c3c3c3;"></canvas>
<script type="text/javascript">
var can = document.getElementById("mycanvas");
var cxt = can.getContext("2d");
var img = new Image();
img.src = "cars.png";
cxt.drawImage(img, 50, 50);
</script>
在网上查了使用drawimage的方法基本上都是类似上面代码,包过一些Html5方面的数,实际上只要一刷新图片就不显示出来。要想保证刷新正常显示需要在Image onload的时候重绘一次才行
<canvas width="800" height="600" id="mycanvas" style="border: 1px solid #c3c3c3;"></canvas>
<script type="text/javascript">
var can = document.getElementById("mycanvas");
var cxt = can.getContext("2d");
var img = new Image();
img.src = "cars.png";
img.onload = function () {
cxt.drawImage(img, 50, 50);
}
</script>
测试在chrome 19下
posted @ 2012-05-18 17:04 kodos 阅读(62) 评论(0) 编辑
说到这个线条平滑,可以说是走了不少弯路。最初一直以为在白板服务端使用滤波算法对白板坐标数据可以得出平滑的线条,但是由于分辨率等因素在绘画时很难得出了满意的线条。后来自己想了想,白板是实时数据,而且有抖动等各因素影响应该是比较难于得出比较光滑的线条,对此我想到了再白板软件中对线条进行平滑处理,后面以自己的数学基础,尝试了很多中曲线拟合算法,结果线条就平滑好多了。后来研究了smart的线条绘制方式,貌似与我所用算法所表现出来的类似,可能只是我们对这个算法使用的参数有点区别而已,这下我心里才有底了,至少目前线条比较柔滑。
posted @ 2012-04-11 10:45 kodos 阅读(9) 评论(0) 编辑
WPF的透明窗体在xp下有些电脑确实工作不正常,目前已经发现几台机器了,然后找到了微软的解答
http://support.microsoft.com/kb/975796
http://support.microsoft.com/kb/943326/看来wpf 透明窗体在xp下应该慎用。
posted @ 2012-03-21 09:45 kodos 阅读(72) 评论(0) 编辑
最近在折腾语音方面的东西,所以看了下GOOGL的语音识别,经过GOOGLE发现Google的语音引擎是通过http来请求的,并且已经获取到http的地址,中文的调用Url为:http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN 其实一看就知道替换zh-CN 成其它语言也是可以的.那么在C#中如何调用呢,直接看代码:
/// <summary>
/// 调用GOOLE语音识别引擎
/// </summary>
/// <returns></returns>
private string GoogleSTT()
{
string result = string.Empty;
try
{
string inFile = "audio.wav";
FileStream fs = new FileStream(inFile, FileMode.Open);
byte[] voice = new byte[fs.Length];
fs.Read(voice, 0, voice.Length);
fs.Close();
HttpWebRequest request = null;
string url = "http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN";
Uri uri = new Uri(url);
request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "audio/x-flac; rate=16000";
request.ContentLength = voice.Length;
using (Stream writeStream = request.GetRequestStream())
{
writeStream.Write(voice, 0, voice.Length);
}
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8))
{
result = readStream.ReadToEnd();
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
return result;
}
其实就是直接通过http请求,然后获取返回的识别结果,不过有需要注意的地方 request.ContentType = "audio/x-flac; rate=16000;这句写的不对会有影响的,google默认的是audio/x-flac的,支持flac格式,要想支持wav、mp3等格式,在网上查之后说只能通过格式转换,如果是直接提交wav文件是无法识别的;后来我在讯飞的语音识别引擎的时候发现他们的也是http的,但是他们的是可以这样写的audio/L16,然后我就尝试着把google的也改成这样,不出所料可以支持wav格式了,这只说明google是有支持的,可能只是有些参数由于google对api的封闭,我们不清楚而已。
posted @ 2012-02-29 11:44 kodos 阅读(1437) 评论(8) 编辑
此文根据http://blog.csdn.net/xiaoding133/article/details/6745981原文修改而成,只是修改了部分我们自己遇到的问题,首先下载HMM 的开发包HTK,现在的版本是3.4.1.可以从CMU的官网进行下载。
确保的环境变量Path包含路径(此为本机vs2010的路径,其它版本可根据安装目录找到):C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools ,路径根据你安装所在目录作相应改变。
打开DOS 命令窗口。
在命令窗口中输入cd htk 进入htk文件夹,在该文件夹下建立一个新文件夹bin.win32 .
输入:mkdir bin.win32
在DOS窗口运行vsvars32
接下来编译htk库文件:
cd HTKLib
进入HTKLib文件夹 使用命令:
nmake /f htk_htklib_nt.mkf all
编译该文件夹下所有的库文件。 cd ..退出该文件夹
然后
cd HTKTools
nmake /f htk_htktools_nt.mkf all
cd ..
cd HLMLib
nmake /f htk_hlmlib_nt.mkf all
cd ..
cd HLMTools
nmake /f htk_hlmtools_nt.mkf all
cd ..
其他的库文件类似。 完成后,所有生成的exe文件在bin.win32文件夹中,然后将该目录加入环境变量PATH中,即可。
确保电脑中装有ActivePerl
运行HTKDemo中的例子:
cd HTKDemo
mkdir hmms
cd hmms
mkdir tmp
mkdir hmm.0
mkdir hmm.1
mkdir hmm.2
mkdir hmm.3
cd ..
mkdir proto
mkdir acc
mkdir test
perl runDemo.pl configs\monPlainM1S1.dcf (运行此命令时有可能提升没有HTKDemo路径的错误,如果是则把HTKDemo放到英文目录下即可)
结果如下:

该工具在Windows 下存在的一些问题:
1.默认情况下HSLab工具使用的是x11做的图形界面接口,windows不支持,所以需要修改一下生成文件,使用windows GUI。修改htk_htklib_nt.mkf(两处),将HGraf.null.obj替换为HGraf_WIN32.obj,HGraf.null.olv替换为 HGraf_WIN32.olv。
再按照上面的步骤安装即可。
posted @ 2012-02-20 14:33 kodos 阅读(234) 评论(0) 编辑
posted @ 2011-12-23 11:44 kodos 阅读(121) 评论(1) 编辑
posted @ 2011-12-07 15:13 kodos 阅读(760) 评论(0) 编辑
posted @ 2011-10-13 14:53 kodos 阅读(1240) 评论(7) 编辑
