9 ganggangwawa

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 5w+

连续声音采集最好版本(c#),把书读薄了

为了识别一个短元音,比如,啊(a),钨(u),诸如此类,抄来了别人的声音采集程序,visual c++和c#两个版本,在采集短元音的过程中,发现,c#版本不如c++版本好,一直未找到原因,耿耿于怀(人生的烦恼诞生于此,放不下!)。当能进行mfcc语音识别这些短元音后,很想用自己的方式去存储一段自己的录音,而非.wav格式,语音识别不能总是停留在短元音识别是吧?近期尝试了c++版本录音,是ok的,具体是这样,每次采集1920字节声音,满了,再添加1920字节buffer备用继续录音,已满的1920字节

2020-07-29 11:34:14

有关机器视觉入门(vc++2013)练手版本gaugme0.2.4提供邮箱收发(有则改之,无则加勉)

我们的软件设计风格,突然发现潜意识受到bios设计风格的影响。你能说,微软menu和dialog(form)设计不受此影响?当你发现程序员喜欢使用黑白屏编程时,除了保护眼睛,(怎样保护颈椎呢?嘿嘿!以你超凡的想象,或许已心生办法)也是受到dos风格的影响我想,dos风格也是一种潜意识风格吧!这种潜意识,应该不是遗传而是人性的共识(以及最初环境的限制)就像春和景明就像书法以及诗歌有一种莫名的喜欢被你发现真的有意思吗?(毫无疑问的意识,感性和逻辑)统计之后

2020-07-15 09:23:35

机器视觉入门之路(四一,经典canny边缘检测(改进),c#)

先看改进效果,全图和局部放大图:改进代码,红色标出,增加了高斯平滑,以及sobel处理,你可以看到,sobel会让边缘变厚。private void Cannyimprove(ref byte[] m_image0, int w, int h, ref byte[,] m_N) {//增加高斯平滑和sobel处理202007040831 int[,] m_P = new int[h, w]; int[,] m_Q = new int[h, w];...

2020-07-04 09:02:19

机器视觉入门之路(四十,霍夫变换(hough transform)图像(改进),c++)

名家的图像处理(左飞)把你引到道上,你却要找人家的错误,真不知天高地厚,还好,在科学的世界里,更纯粹吧!虽然歪打正着,花了很大功夫把他画出来,导致画线函数自己现在看上去,怪怪的,那么,就下功夫改进吧!因为在自己家里改,别人也不知道,就这样吧,走起!看到这个公式了吧!红色的!void HoughLine(BYTE* image0, BYTE* &image1, unsigned int &w, unsigned int &h,int type,int scale=1).

2020-07-03 09:41:10

机器视觉入门之路(三九---B,霍夫变换(hough transform)图像,c++)

前面博文已经有了霍夫找直线的算法这里再补充一下:第一,程序调试成功后,真实的hough图像对比原图像:第二,其实(p,)是可以转换(k,b)的,转换关系如下:斜率k=sin/cos,b=p/sin(),这样你就又有了一幅kb图像,其结果与hough图像差不多,原图像两条直线,那么结果就是两个闪亮的星星,为什么不是闪亮的点呢?看到下面结果就明白了:因为直线不是两条,而是两直线簇。画直线的算法如下:void DrawLine(BYTE** imageBuf, int w, int h,

2020-07-02 22:38:39

机器视觉入门之路(三八,经典canny边缘检测(计算机视觉里程碑),c++)

c#已经注释,这里就省略了注释,可以对比看//image0,image1А8ㄧ计8瓜钩矪瞶void CLineBufProcess::mg_CannySideGrandiant(BYTE* image0, BYTE* image1, int w, int h){ int* p=new int[h*w]; int * q=new int[h*w]; int * m=new int[h*w]; ...

2020-07-02 09:38:06

机器视觉入门之路(三七,经典canny边缘检测(计算机视觉里程碑),c#)

以下是我canny算子的完整代码,虽然他能运行,可能没有想象的那么好,没有的请你补充完整,可以随意改进,直到你想要的完美结果。(比如,增加高斯平滑,不用行吗?比如,增加sobel,不用行吗?,比如,这个算法太费时间,如何高效运行?)以前用繁体中文注释,代码中有乱码,请见谅,不是日文版!哈哈!(从c++翻译过来) private void CannySideGrandiant(ref byte[] m_image0, int w, int h, ref byte[,] m_N) ...

2020-07-02 09:26:23

机器视觉入门之路(三六,经典canny边缘检测(计算机视觉里程碑))

好,我们来捋一下canny:1,高斯平滑,去除噪点2,求梯度幅值,梯度角,并增强边缘3,找出边缘上的穿越点,并进行非极大值抑制4 ,使用染色算法,搞定今天分享一下用sobel增强边缘的心得体会:(参考前面的sobel博文)同一幅图:很是吃惊吧,怎么会出现这种情况?边缘不明显!其实关键不在算子,在图像的黑白上,因为黑色靠近0值方向,白色靠近255方向,因为是算子是做差运算,所以黑白不同结果就有很大不同,sobel纵向算子也存在这样的问题,那如何解决呢?就像我们的线图

2020-07-02 08:50:26

机器视觉入门之路(三五,经典canny边缘检测(计算机视觉里程碑))

图像中的像素插值,我也是在canny中学会的,比如我们旋转后的线图像,个个都是插值而成的,你可以看一看前面的博文,诸如此类:if (k > -1 && k <= 0){float avgGrey = (float)buffer8[(int)j * wh.Width + i];float avgGrey1 = ...

2020-07-02 08:32:20

机器视觉入门之路(三四,经典canny边缘检测(计算机视觉里程碑))

这一节讲traceedge函数,从字面翻译,显然和边缘痕迹相关,也有人叫他染色嵌套函数,借用别人的指点,这种编程方法对图像中具有相同性质(灰度值等)的联通区域进行染色操作是很有用的。是的正是这个traceedge函数的启示,我领悟了找斑函数(findblob),因为我爷爷辈是染布的,后来自己的找斑函数就命名为染色函数,以兹纪念。网上traceedge函数的第一种表达(c++),void TraceEdge(int y, int x, int nThrLow, BYTE *pResult, int

2020-07-01 22:02:10

机器视觉入门之路(三三,经典canny边缘检测(计算机视觉里程碑))

我个人觉得,canny是麻雀虽小,但是五脏俱全的人工智能的东东,正是他,让我对图像处理产生了极大兴趣,并走上了机器视觉的道路,当然,极大的兴趣,必然伴随极大的挫折和障碍。虽然机器视觉中很少用它,但每有突破,总是不由自主想起他,回过头来,还是他最经典,他里边所蕴含的思想极具有启发性,canny不仅仅是算子,他是智能算子,他不是单一性的,他具有系统性,有恰到好处的中庸,这就是canny,了不起的canny,作为计算机视觉中一个里程碑毫不含糊,甚至可以说是人工智能领域里的里程碑!好,为了更好的理解他,我们

2020-07-01 16:32:19

机器视觉入门之路(三二,初次图像识别(匹配的魅力))

这个匹配算法能否改进一下?当然可以!我们用隔行隔列法进行匹配。即我们只用79,81,75,174来进行匹配,所以,sum=79+81+75+174for(int i=0;i<height-3;i++)//考虑边界的处理for(int j=0;j<width-4;j++){int n=i*width+j;//int m=(i+1)*width+j;int k=(i+2)*width+j;int temp=buffer[n]+0000+buffer[n+2

2020-07-01 09:17:47

机器视觉入门之路(三一,初次图像识别(匹配的魅力))

我们来看看这个模板图像匹配的思路:假定这是我们的模板图像:我们如何确定在整个图像中找到了呢?如果,图像中有一个区域与这个模板图像做差,他的绝对值最小,我们就认为找到了,写到这里,我想起平时编程中,经常会在文本中去找一段文字,差不多,就这个意思,搞定这个,再整一个文字搜索!好,步骤如下:第一,sum=79+80+81+170+77+82+172+175+75+173+174+177第二,原图像在buffer[]中,遍历图像,两个循环搞定:for(int i=0;i<heigh

2020-07-01 08:57:24

机器视觉入门之路(三十,初次图像识别(匹配的魅力))

我们已经接触了不少模板,但是有一种模板是用来匹配的,即识别到模板在图像中的位置,所以我们这里所谓的模板,实际是图像模板,你不觉得,模板也是感兴趣区域变化而来的嘛?模板在人工智能领域还有一个响亮的名字,叫做----核。比如,高斯模板被称为高斯核,诸如此类,更应该叫做算子模板。好,先看一看曾经煞费苦心的自己,虽然笨拙的现在都不用了,但匹配识别的思想精髓尽在其中:第一,加载一幅图像第二,创建roi,截取模板图像,拾取并保存。第三,加载图像,验证模板是否正确,然后执行匹配,看到那个红色的小直

2020-07-01 08:20:07

机器视觉入门之路(二九,像素的操作(sobel),c++)

一直很少用sobel,今天来看看他的效果:水平sobel处理代码:for (y = 1; y < h - 1; y++) for (x = 1; x < w - 1; x++) { n = (y*w + x) * 4; a = (-1)*image0[n - w * 4 - 4] - 2 * image0[n - w * 4] - image0[n - w * 4+4]+ image0[n + w * 4 - 4] + 2 ...

2020-06-30 19:37:22

机器视觉入门之路(二八,像素的操作(拉普拉斯))

假定Gx(i,j)=buffer[i*w+j]-buffer[i*w+j+1],那么Gx(i,j+1)-Gx(i,j)=?x先求Gx(i,j+1),用(j+1)替换buffer[i*w+j]-buffer[i*w+j+1]中j,所以Gx(i,j+1)=buffer[i*w+(j+1)]-buffer[i*w+(j+1)+1]所以?x=Gx(i,j+1)-Gx(i,j)=buffer[i*w+(j+1)]-buffer[i*w+(j+1)+1]-Gx(i,j)=buffer[i*w+j+1]-

2020-06-30 11:24:31

机器视觉入门之路(二七,像素的操作(高斯模板3*3产生),c#)

生成结果:代码如下: private void creategaos_Click(object sender, EventArgs e) { //////////////////////生成二维高斯滤波系数////////////////////////////////// int nWidowSize = 3; // double nSigma = 0.4; double...

2020-06-30 10:25:50

机器视觉入门之路(二六,像素的操作(梯度图像))

图像在buffer[]中,宽度为w,高度为h。其中一个像素为buffer[i*w+j],0<=i<=h-1,0<=j<=w-1.相邻两个像素做差,Gx=math.abs(buffer[i*w+j]-buffer[i*w+j+1])Gy=math.abs(buffer[i*w+j]-buffer[(i+1)*w+j])像素buffer[i*w+j]的梯度幅值为=math.sqrt(Gx^2+Gy^2)像素buffer[i*w+j]的梯度幅值简化为=Gx+Gy

2020-06-30 09:45:08

机器视觉入门之路(二五,橡皮筋技术(可拖拽工具),c#)

要截取一幅特征图像,进行学习匹配,经常会用到,那么我们经常会用到矩形框的鼠标拖拽行为,人们称其为橡皮筋技术,首先,我们先拖动一根线,其次再搞定其他。我们仍然遵循最轻量级代码化,以后不足,再扩充。好,走起!第一,声明一条线,并画出来,这一次,线中心多了一个小框,如下:看代码: mg_line testline4 = new mg_line(new PointF(400, 400), new PointF(600, 400));// PointF m_LineCenter = new ...

2020-06-29 08:53:19

机器视觉入门之路(二四,旋转矩形截取图像,c#)

加载一幅图像:好,现在取线图像40组(注意对比前头:已经调整成40组横向线图像)://glob_buffer8整幅图 List<PosAndGrey> 线图像40 = new List<PosAndGrey>(); for (int i = 0; i < 40; i++)//40条线, { PosAndGrey cc = new PosAndGrey(); ...

2020-06-28 14:32:29

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取