孔明兄的“7”写得实在是难看至极,没有一点体法。看它的头部我还以为是“?”呢,更不用要求电脑来识别了。
我的进度也很慢,学习中。
----------------解决方案--------------------------------------------------------
要是真的 我也顶 了
----------------解决方案--------------------------------------------------------
嘿嘿,不敢不敢
首先说我可不是来吵架的,走错了地方不来就是了。一些问题可不能马上就有答案
比如说01识别问题,往复杂了说就是OCR的算法,挺困难的,工作量也大,往简单了说,如果只是数字的识别,其实也挺复杂,因为基本过程不能省,我刚才写了以下数字0,1,2,3,4,5,6,7,8,9;借鉴ocr的特征比对 可以建立“边角特征”我建议建立“米”字特征,先瘦边,再按一定比例省掉一些笔画,比如“2”下面一横太小了就考虑辨认为“7”,当然,决定多“小”才是“小”的“一定比例”可由矩阵大小和比例决定,(然后要旋转就有些麻烦了比如把5字倒过来写什么的),比较特征,如果我做就把特征库做得大大(数量多)的,算法自然就可以简单了,至于程序嘛,编出来太费功夫,我不至于为了想在这发言就费这么大功夫,嘿嘿,实话,写完这个又会出现那个,你说对不对?
好多人看过Thomas H.Cormen的《算法导论》,我大多数题都有答案,里面很多示例我总是当字典和样板用,没求甚解,惭愧,所以就不抄上来了充当自己做的了,如果大家有全套答案一定要共享呀。
我怎么觉得跟“孔明过江”似的,先来三个问题,吓人,我又不联合你家主公抗曹,费那么大劲干啥?
“交流融通”,我受惠于论坛的一些版块,就想回报一下,别的技术我没啥发言权,就这门还比较熟,要是不欢迎就算了,做个结尾吧。那就是:
上面的例子并没有现指针,我的意思是先要弄清“地址”的概念再谈指针,所以先说这个例子,估计以后发言越来越难,“风声紧,下回又要挨砖”,所以提纲携领的说说得了,省得大意都不完全,例子免了呀!
接下来说说指针,指针大家都说复杂其实指针可以使程序更简单,它可以用来灵巧地处理“复杂数据(成块的数据)”和技巧地使用函数。他的要点就是“抽象”处理复杂数据体现在处理数组上(特别是自定义类型的数组),技巧的使用函数指的是利用函数的指针可以大大的简化编程。
1:指针和普通变量
定义书上都有,但所有的示例只是用来说明指针语法,注意,不是用法。对单个变量来说指针仅用于从函数中带回来一个以上的值,即类似于后来的“引用传递”
2:指针与数组体现了指针处理数据的能力,大部分人都觉得指针与2维数组,指针的指针等等内容比较烦,其实只要掌握一点,嘿嘿,那就是[],对方括号不是“神圣的不可侵犯的类似保留字的东西”,他是运算符呀,他的等效运算是“ *()”,那么对于一维数组来说 a[i]既是*(a+i)既是
“*(i+a)” 就是i[a],不信试试;没错的,oreilly公司的哪本书上就有例子。
那么对于2维数组a[M][N]来说,就好理解多了 a[i][j]既是 "*(a[i]+j)",a[i]当然就不是个“所谓数值了”,它是个地址,或者说指针,那a已经是数组了,那它就是个指针数组,它包括M个指针,
即M个a[i],而a[i]这种指针不是“标准类型”如整形之类的(体现在+-运算的“跨度”上),他是“自定义类型数据”,他的“容量”是N*sizeof(TYPE),(简单说了,想结束本帖,就不画图了)。
如果结合这些想法看看书,是否有助于理解?
3、函数的指针,这可是不能不学的地方,如果想从业这部分内容必学,并且体现“修养”哟。
他体现了指针的另一个能力“抽象”,当然,回调函数,包括C#里的委托,Java里动态代理都是直接使用函数指针的例子,但我要说的就是可以利用“抽象”达到简化编程的目的,这也是广泛运用的。
比如,发帖框旁边的“兔斯基”,怎么动得都有,一页16个,逐个用算法去画太复杂,可以规范一个接口,利用函数的指针 int (draw *)(arg...);然后定义一个结构体数组比如ra_s[M],除了把兔子的坐标之类放进去以外,还有个成员就是这个函数指针,然后你尽可以发明各种画兔子的方法,但有一条,必须符合 int (draw *)(arg...);的标准,然后对ra_s[M]中的函数指针成员赋值(即指向各种画法),
然后遍历ra_s[M],访问函数指针就可以得到各种形态的兔子了。
好,1,2,3都讲完了,本想详细道来,现在匆匆一讲,大家都是很高水平,不用我赘述了,写完只是为了有个交代,别说俺没写。
另外楼上忘了说弄个三维空间干嘛了,本来不想说,但实在忍不住,取坐标中的值?O(1),画轨迹?嘿嘿,算了
886,继续潜水!
----------------解决方案--------------------------------------------------------
这个贴其实本可以做的更好的
楼主这样的发帖方式,帖子的可读性不强。如果想做好,可以先占楼,再慢慢补充内容。
另外你技术应该还不错,受到这么多攻击都是因为
一楼的言论引起大家的不满。
或许你换种方式可以得到更多的尊重!
----------------解决方案--------------------------------------------------------
加油!
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]广陵绝唱[/un] 在 2008-4-26 22:07 的发言:[/bo]
~~~~~~~~~~~~~
孔明兄的“7”写得实在是难看至极,没有一点体法。看它的头部我还以为是“?”呢,更不用要求电脑来识别了。
我的进度也很慢,学习中。 ...
~~~~~~~~~~~~~
孔明兄的“7”写得实在是难看至极,没有一点体法。看它的头部我还以为是“?”呢,更不用要求电脑来识别了。
我的进度也很慢,学习中。 ...
我已经说明了,只是数字识别
同时,要把他看做点阵,也就是长=宽,否则看起来别扭
那个数字是我直接从华文字库中取出来的,不是我写的
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]sooyahoo[/un] 在 2008-4-26 23:13 的发言:[/bo]
我也不是来吵架的,不要误解了,只是交流技术.我问的后两个问题如何解决?第一个问题我的解决方法是通过启发式评分来做,例如先是计算标准字模的区块数(floodfill),然后与读入的点阵的区块数比较,并进行评分,然后是移动旋转,拉伸读入的点阵,并与标准字模进行一定范围内的比较,取最高评分.二者相加.我没学过计算机图形学,所以算法比较简陋,识别成功几率只能保证大于60%.感谢您对此问题的回复.
第二个问题是,给出一个x*y*z大小三维的立方体(不一定是正方体),同时给出三维立方体中每一个点的价值,求出这个三维立方体中的最大子立方体(按价值和算),我最多只能将复杂度降到约为O(((x+y+z)/3)^5),不知道是否有更好的方法
第三个问题我不会,因此过来请教,我只会O(N^2)空间复杂度的算法
----------------解决方案--------------------------------------------------------
LZ!
开个解答问题专贴! 期待!
----------------解决方案--------------------------------------------------------
我的乖乖啊 这日子还让不让人活呀
到处都是牛BI的人 我该何去何从 ----------------解决方案--------------------------------------------------------
好好好好好
----------------解决方案--------------------------------------------------------