学期总结!

  好久没写博客文章了.马上就放假了,回家就上不了网了.最后留篇文章,也算是个学期总结吧.

  为了方便回忆,还是从后往前推算吧.

  先说说这几天.主要是在看标准化的Web设计,就是DIV+CSS的设计方法.就是将内容和结构样式分离出来.MVC主要是对内容的不同视图进行变换,这 种设计就是对样式结构的变换.用大量的DIV代替传统的表格式布局,使用外联CSS进行样式切换.使得程序架构变的更清晰.
  还有就是浏览器换成了FireFox,之前一直用Maxthon.按照Maxthonr的功能配置了一晚上的扩展,感觉比Maxthon好用多了.虽然很 早以前就有换浏览器的想法,但是长久的习惯不好改.现在事实证明,克服习惯改变现状的做法是好处多多的,太安于现状,就很容易拘限自己.而且这种拘限是非 要到打破现状后才能发现的.

 再往前段时间,是在仿照优快云做一个BLOG系统..从头到尾间断的花了一个月左右.也学到了不少东西.从设计数据库开始说起吧,为了设计优化查询的 索引,把MSSQL的书又翻了出来,从数据是如何存储的,到DB查找数据的过程又重温了一遍,以及SQL的查询成本计算等等.关于这些有空我会整理一下也 写一篇BLOG的.接下来就是分层,编码,测试.这些要详细点说.
  1.业务实体层.主要是对自定义实体类和类型化DataSet的选择问题.现在想想实在是很明白的一个问题.对于单纯的显示少量数据来说,自定义实体类完全够用了,用DataDet的话太占内存.我唯一用到Type DataSet
 一处是在后台显示文章列表时用到,因为文章列表只要标题等简单数据,又要很多的筛选排序等功能,我就一次性把数据全取出来放入DataSet,直接用 DataSet的功能来实现.而且又可以启用GridView的客户端回发功能(AjAx那样的,只传输变化的数据),也可以弥补数据量大的缺点.
  2.数据访问层.SQLHelper+存储过程.通用做法.值的一提的是其实使用VS2005的代码段功能简化很多编码工作,效果相当于半自动化的CodeSmith,但是比较灵活,可定制性高.这些也是有空再细说了.
  3.业务逻辑层.设计之初是按照三层开发的模式建立的BLL层.但是后来感觉没啥用.就取消了.再后来发现原来BLL的重要程序是跟DAL层差不多的.第 一是数据验证,虽然UI层有验证,但是都是基于浏览器脚本的,很容易就可以绕过.第二是应对一次对多个DAL类操作,起到一个组织作用,是BLL层最主要 的作用了.再就是自定义的缓存功能等等.
  4.UI层.最主要是就是URL重写.用MSDNURLRewriting+建立物理文件夹的方案解决.还尝试了DNN的那种模块式的控件(动态加载模板文件再用数据填充),做了一个Demo,太复杂,放弃了.

  再再往前就记不是很清楚了.买过几本书,完整的看完的只有<<ASP.NET2.0技术内幕>>,微软技术丛书那种,配合的 <<ASP.NET2.0开发指南>>中的大量实例,总算对ASP.NET有一个比较全面的了解了.尤其是对提供程序和 ASP.NET的运行机制认识更深入了.

  对了,还有也研究一些有关Ajax技术.用XMLHTTP+WebSevice做了个无刷新聊天室程序.也勉强算是入了个门了.这个寒假再看看Atlas(就是Ajax.net),学一些高级控件的用法.

  再想想....报考软件设计师,上午差4分,下午差6分,失败.还有报了四级,直接放弃,亏了40块钱.

  暂时就这些了.想到再补.
 
 

 
### Halcon 学期末课程总结报告 Halcon 是一款功能强大的机器视觉软件,广泛应用于工业自动化、质量检测和图像处理等领域。以下是对 Halcon 课程的全面总结,涵盖核心知识点、实际应用以及开发技巧。 #### ### Halcon 核心功能概述 Halcon 提供了丰富的图像处理功能,包括但不限于图像读取与显示、特征提取、模式匹配、测量工具等[^1]。这些功能通过 Halcon 的 HDevelop 环境实现,支持用户快速开发和测试算法。 ```python # 示例代码:使用 Halcon 进行图像读取与边缘检测 from halcon import * # 创建窗口并打开 dev_close_window() dev_open_window(0, 0, 512, 512, 'black', ['visible'], ['value'], WindowHandle) # 读取图像 read_image(Image, 'monkey') # 显示原始图像 disp_image(Image, WindowHandle) # 边缘检测 sobel_amp(Image, SobelImage, 'sum_abs', 3) threshold(SobelImage, RegionEdge, 100, 255) disp_obj(RegionEdge, WindowHandle) ``` #### ### Halcon 的开发环境与集成 Halcon 支持与多种编程语言集成,例如 C++ 和 C#。在实际项目中,通常需要将 Halcon 与 Visual Studio 集成,以实现更复杂的图像处理任务[^2]。此外,Halcon 提供了详细的 API 文档,帮助开发者快速掌握其接口调用方法。 #### ### 实际应用案例 Halcon 在工业领域的应用非常广泛,例如在电子制造中的缺陷检测、汽车零部件的质量控制等。一个典型的案例是使用 Halcon 的 Blob 分析功能对电路板上的焊点进行检测[^3]。通过设置合适的阈值和形态学操作,可以准确识别焊点的形状和大小。 #### ### 常见问题与解决方案 在使用 Halcon 过程中,可能会遇到一些常见问题,例如性能优化、多线程处理等。为了解决这些问题,建议参考官方文档或社区论坛 ihalcon.com 的讨论[^4]。同时,合理利用 Halcon 提供的调试工具,能够显著提高开发效率。 #### ### 开发流程与最佳实践 在开发基于 Halcon 的应用程序时,建议遵循以下原则: - **模块化设计**:将不同的功能模块分开实现,便于维护和扩展。 - **性能优化**:尽量减少不必要的计算步骤,充分利用硬件加速功能。 - **文档记录**:为每个模块编写详细的注释和文档,方便后续维护[^5]。 ```python # 示例代码:Halcon 中的多线程处理 import threading from halcon import * def process_image(image_path): read_image(Image, image_path) sobel_amp(Image, SobelImage, 'sum_abs', 3) threshold(SobelImage, RegionEdge, 100, 255) return RegionEdge # 创建线程 thread1 = threading.Thread(target=process_image, args=('image1.png',)) thread2 = threading.Thread(target=process_image, args=('image2.png',)) # 启动线程 thread1.start() thread2.start() # 等待线程完成 thread1.join() thread2.join() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值