- halcon学习之边缘检测
zsffuture
机器视觉halcon学习c++
这里主要介绍基于亚像素提取的边缘检测方法,具体大家可以参考一本书,如果对halcon很熟悉的就不用了看了,反之建议看看,该书为《机器视觉算法原理与编程实践》,我也是跟着敲了一遍代码,很多都可以达到触类旁通,这里就不详细介绍了,写博客的目的是便于自己以后查找read_image(Image,'F:/机器视觉/Halcon机器视觉算法原理与编程实战/code/code/data/flower')rgb
- Halcon学习笔记——Region特征类算子(1)
一楼二栋
算法机器学习
Region特征类算子region_features(Regions::Features:Value)*计算区域的形状特征*输入参数:*Regions————待检测区域*Features————要检测的特征(默认值:'area',可选值见Region特征图所示)*输出参数:*Value————计算的特征*Features可以输入单个或者多个特征,例如['area','anisometry']sel
- Halcon学习笔记——Tuple类算子
一楼二栋
学习
数组运算y:=[1,2,10,5,0,10]x:=[10,10,20,0,5,-10]a:=[10.5,-10.5,0,3]b:=[3.1415,0,1.5708,0.785]c:=[2,1,-2,3,5,-10]d:=[3,-10.5,0,5]tuple_abs(a,Abs)*计算一个元组的绝对值*元组中的元素为整型,则返回绝对值也为整型,为浮点型,则返回浮点型,可以混合*[10.5,10.5,
- Halcon学习笔记——Region类算子(1)
一楼二栋
学习
connection(Region:ConnectedRegions::)*将不相连的区域都分割成单独的区域*Region:输入,ConnectedRegions:输出union1(Region:RegionUnion::)*将各自独立的区域合并成一整块区域(返回所有输入区域的并集)*Region:输入,RegionUnion:输出*与connection()相反union2(Region1,Re
- halcon学习笔记(一)毛边检测 仿射变换+标准区域登陆检测内外边缘毛边
weixin_44482092
halcon算法人工智能计算机视觉
一、中级视频教程毛刺检测:实现功能,检测突出产品外围突出的毛刺:1.先获取背景的区域,用binary_threshold()获取背景区域A;2.背景区域进行闭运算得到闭运算区域B3.用difference()算子计算AB两个区域的补集C;4.对C进行开运算,使边缘平滑。记得到边缘突出的毛刺使用到的算子:binary_threshold()自动全局阈值,得到背景获背景和前景,适合使用在背景和前景差异
- HALCON学习笔记(八)——HALCON相关实例和算法
weixin_45482443
HALCON
字符分割和识别字符识别(OCR)是在图像中识别字符的过程。主要包括在图像中的单个字符分割出来,将分割出来的字符进行分类两个部分。实例:dev_update_window('off')read_image(Image,'printer_chip/printer_chip_01')get_image_size(Image,Width,Height)dev_close_window()dev_open_
- HALCON学习之旅(七)
扑腾的菜鸟
Halcon专栏算法opencv图像处理
HALCON学习之旅(七)文章目录HALCON学习之旅(七)1、MFC与Halcon混合编程2、C#与Halcon混合编程3、Halcon测量助手使用4、Halcon实例进阶一(拟合区域椭圆,并计算主半径的均值和方差)5、Halcon实例进阶二(判别回形针的方向)6、Halcon实例进阶三(自动寻找PCB(电路板)上的Pads(垫板)区域)1、MFC与Halcon混合编程流程如下:①、创建MFC工
- Halcon学习之五:有关图像的定义域的函数
xinrui_hhuc
Halcon学习imagedomain
1、add_channels(Regions,Image:GrayRegions::)将Image图像的灰度值赋给区域Regions,得到GrayRegions。2、change_domain(Image,NewDomain:ImageNew::)
- Halcon Solution Guide I basics(5): 1D Measuring(一维测距)
龙中舞王
Halcon开发机械视觉Halcon
文章专栏我的Halcon开发CSDN专栏Halcon学习练习项目gitee仓库CSDNMajor博主Halcon文章推荐随笔分类-Halcon入门学习教程前言今天来学直线测距,主要是用来测量连点之间的线段距离。感觉是用来得到工业产品精度的。文章解读一维测距是非常简单的这里提供了一个强明暗对比的示例你可以对示例边缘的左侧和右侧间距进行测距一维测距的优点是,开销低,速度快,效果好。流程图获取图片->创
- Halcon学习笔记
诗仙&李白
机器视觉学习笔记
目录一.简介一.简介Halcon和OpenCV在工业应用中的区别:OpenCV的精度没Halcon高;OpenCV没有模板匹配,Halcon有,而且Halcon匹配的精度更高。
- halcon学习笔记-01.Halcon简介
zxmyoung
Halcon图像处理机器学习
1.概述HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境,用户可以利用其开放式结构快速开发图像处理和机器视觉软件。其集成开发环境HDevelop可在Windows、Linux、UNLX系统下使用。使用HDevelop进行编程的过程一般是,在HDevelop环境中编写算法部分,使用C++、C#、VB等开发应用程序,从HDevelop中导出算法代
- HalCon学习笔记6
工大陈
机器视觉halcon学习算法
halcon的数据结构之region、xld机器视觉的任务之一就是识别图像中的包含某种特性的区域,比如执行一个阈值分割处理,因此至少我们还需要一种数据结构,它可以表示一副图像中一个任意的像素子集,我们把区域定义为离散平面的任意子集使用halcon算子threshold来看看得到区域的效果,其中红色部分就是灰度值在123到255的所有像素点的集合,他们将作为一个整体作为一个区域,使用变量Region
- halcon学习笔记
Alphapeople
学习笔记
读取图片:read_image(Image,'C:/test.png')Halcon的一些基本数据结构:(1)Image:指Halcon的图像类型,由矩阵数据组成,矩阵中的每个值表示一个像素。Image中含有单通道或者多通道的颜色信息。(2)Region:指图像中的一块区域。该区域数据由点的坐标组成,表达的意义类似于一个范围。可以用Region来创建一个感兴趣区域(RegionofInterest
- Halcon Solution Guide I basics(4.1): Blob Analysis 自主练习
龙中舞王
Halcon开发C#机械视觉Halcon
文章目录文章专栏前言自主练习题目输出电路板焊点个数解决方案:正确率:90文章专栏我的Halcon开发CSDN专栏Halcon学习练习项目gitee仓库CSDNMajor博主Halcon文章推荐随笔分类-Halcon入门学习教程前言为了更加熟练的掌握Halcon的练习,我之后每个章节都会给我自己出1道小题目,来熟悉halcon代码自主练习我们按照halcon教程的三大步开始写*----读取图片*--
- Halcon学习笔记_03:Blob分析
PaQiuQiu
Halcon玩转机器视觉Blob分析
Blob分析由以下步骤组成:采集图像->提取ROI->图像或ROI对齐->修正图像->图像预处理->提取分割参数->分割图像->区域预处理->提取特征->将结果转为世界坐标->可视化显示1.修正图像图像或区域对齐问题:(SolutionGuideIII-Cinsection3.4)2.图像预处理消除噪声的相关函数:mean_image()gauss_image()相对高斯滤波速度快,效果不完美的函
- Halcon Solution Guide I basics(4): Blob Analysis(连通性解析)
龙中舞王
Halcon开发机械视觉Halcon
文章目录文章专栏前言文章解析开头步骤分析简单案例进阶方案进阶代码案例crystal,结晶匹配需求分析文章专栏Halcon开发Halcon学习练习项目gitee仓库CSDNMajor博主Halcon文章推荐前言今天来看第三章内容,既然是零基础,而且我还有大概3-4个月的时间准备,我还是老老实实从头开始学机器视觉好了。文章解析开头Blob解析非常简单。Blob通过亮度,将连通点和背景进行区分Blob分
- halcon学习拓展系列—弱边缘缺陷检测方法汇总之空域方法(二)
谷棵
halcon学习halcon学习弱边缘分割图像增强边缘提取
上一专题《halcon学习拓展系列—弱边缘缺陷检测方法汇总之频域方法(一)》,该专题主要讲解频域检测边缘,本专栏主要讲空域边缘检测,总目录如下:***************************弱边缘缺陷检测方法汇总之空域方法*******************************一、算法实现1、图像增强部分1)对比度增强(emphasize)2)照明度增强(illuminate)3)直
- HALCON学习笔记之blob分析+特征(定位) 11
学习ing的青年
计算机视觉
blob分析+特征(定位)*采集图像dev_close_window()dev_update_off()read_image(ImageOrig,'blister/blister_reference')dev_open_window_fit_image(ImageOrig,0,0,-1,-1,WindowHandle)set_display_font(WindowHandle,14,'mono',
- Halcon学习之六:获取Image图像中Region区域的特征参数
Zach_ZhouY
Halcon
area_center_gray(Regions,Image:::Area,Row,Column)计算Image图像中Region区域的面积Area和重心(Row,Column)。cooc_feature_image(Regions,Image::LdGray,Direction:Energy,Correlation,Homogeneity,Contrast)计算共生矩阵和推导出灰度特征值Dire
- Halcon Solution Guide I basics(3): Region Of Interest(有兴趣区域/找重点)
龙中舞王
Halcon开发机械视觉Halcon
文章目录文章专栏前言文章解读前言创建ROI案例1:直接截取ROI手动截取ROI总结ROI套路获取窗口句柄截取ROI区域获取有效区域Stop组合文章专栏Halcon开发Halcon学习练习项目gitee仓库CSDNMajor博主Halcon文章推荐前言今天来看第三章内容,既然是零基础,而且我还有大概3-4个月的时间准备,我还是老老实实从头开始学机器视觉好了。文章解读下面我将RegionOfInter
- Halcon Solution Guide I basics(2): Image Acquisition(图像加载)
龙中舞王
Halcon开发机械视觉Halcon
文章目录文章专栏前言文章解读文章开头流程图算子介绍案例自主练习读取一张图片读取多张图片文章专栏Halcon开发Halcon学习练习项目gitee仓库前言今天来看Halcon的第二章,图像获取。在第二章之后,后面文章就会提供案例了。到时候我会尽量完成每一个案例,和去找相似的案例去尝试解决文章解读文章开头图像识别是非常常用的技术,本文正式开始机器视觉Halcon将图像加载封装成了几个常用的算子,功能强
- HALCON学习之旅(五)
扑腾的菜鸟
Halcon专栏算法图像处理opencv
HALCON学习之旅(五)文章目录HALCON学习之旅(五)1、如何获取程序运行时间2、如何将Bayer图像转换为彩色图像3、如何将图像转化为矩阵形式4、如何让图像自适应窗口(补充)5、如何实现彩色图像转化为灰色图像6、如何实现图像数据类型的相互转换7、图像分割之地形学操作8、如何填充区域之间的空隙或分割重叠区域9、如何在窗口上显示中文汉字10、图像分割之阈值操作11、文本文件相关操作12、形态学
- Halcon 3D 深度图转换为3D图像
Σίσυφος1900
halcon3D计算机视觉人工智能
一、简介halcon学习之阈值分割(threshold、binary_threshold、dyn_threshold、var_threshold、auto_threshold、fast_threshold、)_zsffuture的博客-CSDN博客_fast_threshold算子深度图像和3D点云互转只涉及相机内参矩阵,其中深度图转点云原理-horsetail-博客园fx,fy分别为镜头x,y方
- 《NLP入门到精通》栏目导读
无水先生
NLP入门到精通自然语言处理人工智能
一、说明栏目《NLP入门到精通》本着从简到难得台阶式学习过度。将自然语言处理得知识贯穿过来。本栏目得前导栏目是《深度学习》、《pytorch实践》,因此,读者需要一定得深度学习基础,才能过度到此栏目内容。为了保证读者由浅入深地学习Halcon学习。本栏目在持续更新中,直到以上知识篇完整为止。栏目文档导读表单元内容范围专题描述备注第一单元:文本分类,基于统计学模型。待续第二单元词嵌入,基于深度学习网
- Halcon学习之OCR字符识别
Mr_Four97
Halcon学习学习ocr图像处理
一、基本流程1.采集图像、提取字符区域2.读取字库句柄read_ocr_class_mlp(::FileName:OCRHandle)3.识别时注意Halcon提供的字库为白底黑字读取多个:do_ocr_multi_class_mlp(Character,Image::OCRHandle:Class,Confidence)读取单个:do_ocr_single_class_mlp(Character
- 基于Halcon学习的基于相关性模板匹配【一】find_ncc_model_exposure.hdev例程
BoomBiuBiu
Halcon学习笔记#模板匹配图像处理图像识别算法
*ThisexampleprogramshowshowtouseHALCON'scorrelation-based*matching.Inparticularitdemonstratestherobustnessofthismethodagainst*linearilluminationchanges.Thetrainingisperformedinanimagewithgood*illumina
- 基于Halcon学习的基于相关性模板匹配【二】find_ncc_model_defocused_precision.hdev
BoomBiuBiu
Halcon学习笔记#模板匹配图像识别图像处理
*本示例的目的是检查ncc检测的偏差,当透镜焦点改变时,其参考模型的结果;*在序列上迭代。这里使用的匹配方案是ncc模型。检测到的模型在x和y方向上的整体运动;*最后(以像素为单位)进行了描述dev_close_window()read_image(ImageRef,'pcb_focus/pcb_focus_telecentric_061')get_image_size(ImageRef,Widt
- HalCon学习笔记3
工大陈
机器视觉halcon学习计算机视觉图像处理
一、实例透视形变图像校正透视形变图形校正步骤如下1.读取图像,并对图像进行简单的处理,分割出目标形变区域2.获取形变区域的轮廓,并计算出顶点坐标信息3.利用上一步得出的坐标信息,计算投影变换矩阵4.进行投影变换二、实现代码1.将图像转化为灰度图像rgb1_to_gray(Image_display,GrayImage)rgb1_to_gray将RGB图像转换为灰度图像RGB图像的三个通道作为输入图
- Halcon学习——计算不同区域的面积
笑笑子
Halcon计算机视觉
将下图进行区域分割,并计算不同区域的面积大小原图:halcon的处理方法dev_display(Image)dev_close_window()dev_open_window(0,0,512,512,'black',WindowID)**设置窗口的字体(窗口句柄,size,字体形式,是否粗体,是否斜体)set_display_font(WindowID,14,'mono','true','fals
- halcon学习 matching基础的transformation
liuxiaomao1988
halcon学习halcon学习
转载:http://qing.blog.sina.com.cn/2316220871/8a0eb9c733002r5h.htmlhalcon提供了各种转换操作,针对于2D匹配方法可以使用2Daffinetransformmtion,它允许位移,转动或者按比例改变大小。对于色彩空间透视图匹配(uncalibratedperspectivematching)方法,2D投影转换可以用来改变投影视角,除此
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http