AOCP---写在前面鼓励自己的话

一狠心买了一整套AOCP, 想好好的看一下高老师的巨著。想好好这个把整个阅读的过程记录下来,几年都可以,关键是坚持下来把它读完。一直以来很难坚持把一件事情完美的做完,写博客也是为了敦促自己把这个事情坚持下来。 不见得能从这个上面学到什么东西, 只是想让自己浮躁的心理平静一下。其实每天下班之后工作是很累的,每天抽出一点点时间,坚持下来, 这就是我的目的。

 

关于这套书我是打算着看的:

 

1. 首先看第一卷, 第一卷我将略过MIX语言部分, 其实不是高老师的MIX不好, 主要是觉得学习MIX的用途不大。 我并不觉得高老师在他序言中说的是对的, 我认为还是应该以自己最熟悉的语言为主。 当然这个不是最重要的,AOCP最重要的还是算法, 还是算法的数学分析。另外对于书中的算法, 将尽可能的用C实现一遍。

2. 然后看第三卷。 对于第二卷,我发现网上的读者关注度不高。第二卷实际应用不多, 主要是数学推演。第三觉倒是在实际过程中蛮多的。 我清楚这样阅读是有很多的功利性, 但是我不能说服自己把第二卷认真的读一遍。

3. 第二卷, 如果时间允许, 精力允许,第二卷我会读的。

 

这个计划当然还会改变, 读的时候也不是一成不变的按照高老师的顺序。 有时候还会从网上搜集一点东西, 并且还会结合其他书籍来读他。我知道这个过程很漫长, 1年, 两年, 我不知道,但是我知道,如果我坚持下来,对于我自己来说,是一种很好的鼓励~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主函数main如何才能识别多张车牌public static String[] multiPlateRecognise(opencv_core.Mat mat) { PlateDetect plateDetect = new PlateDetect(); plateDetect.setPDLifemode(true); Vector<opencv_core.Mat> matVector = new Vector<opencv_core.Mat>(10); if (0 == plateDetect.plateDetect(mat, matVector)) { CharsRecognise cr = new CharsRecognise(); String[] results = new String[matVector.size()]; for (int i = 0; i < matVector.size(); ++i) { String result = cr.charsRecognise(matVector.get(i)); results[i] = result; } return results; } return null; }主函数如下: public static void main(String[] args) { //使用了以下算法 //基于模板匹配的字符识别算法 //二值化算法 //边缘检测算法 //形态学操作 //直方图均衡化算法 //训练分类模型算法 //原图 int sum = imgPaths.length; int errNum = 0; int sumTime = 0; long longTime = 0; String[] imgPaths = {"res/image/test_image/plate_locate.jpg","res/image/test_image/test.jpg", "res/image/test_image/plate_detect.jpg"}; opencv_core.Mat src = opencv_imgcodecs.imread(imgPath); String ret = Arrays.toString(multiPlateRecognise(src)); long now = System.currentTimeMillis(); System.err.println(ret); long s = System.currentTimeMillis() - now; if (s > longTime) { longTime = s; } sumTime += s; System.out.println("识别车牌" + ret); if (!"苏EUK722".equals(ret)) { errNum++; } if (!"苏AOCP56".equals(ret)) { errNum++; } if (!"沪BS781".equals(ret)) { errNum++; } BigDecimal errSum = new BigDecimal(errNum); BigDecimal sumNum = new BigDecimal(sum); BigDecimal c = sumNum.subtract(errSum).divide(sumNum).multiply(new BigDecimal(100)); System.err.println("总耗时:" + sumTime + "ms,平均处理时长:" + sumTime / sum + "ms,错误数量:" + errNum + ",正确识别率:" + c + "%"); } }
06-11

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值