分水岭算法的概念及原理

分水岭算法的概念及原理
分水岭算法的概念及原理

分水岭算法

WatershedAlgorithm(分水岭算法),顾名思义,就是根据分水岭的构成来考虑图像的分割。现实中人们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或都是连通的关系,就是分水岭(watershed)。为了得到一个相对集中的集水盆,那么让水涨到接近周围最高的山顶就可以了,这样的话,我们就可以用来获取边界灰阶大,中间灰阶小的物体区域了,它就是集水盆。

分水岭算法的概念及原理

分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。

分水岭的计算过程是一个迭代标注过程。分水岭比较经典的计算方法是

L.Vincent提出的。在该算法中,分水岭计算分两个步骤,一个是排序过程,一个是淹没过程。首先对每个像素的灰度级进行从低到高排序,然后在从低到高实现淹没过程中,对每一个局部极小值在h阶高度的影响域采用先进先出(FIFO)结构进行判断及标注。

分水岭变换得到的是输入图像的集水盆图像,集水盆之间的边界点,即为分水岭。显然,分水岭表示的是输入图像极大值点。因此,为得到图像的边缘信息,通常把梯度图像作为输入图像,即

g(x,y)=grad(f(x,y))={[f(x,y)-f(x-1,y)]2[f(x,y)-f(x,y-1)]2}0.5

式中,f(x,y)表示原始图像,grad{.}表示梯度运算。

分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。但同时应当看出,分水岭算法对微弱边缘具有良好的响应,可得到封闭连续的边缘。通过分水岭算法所得到的封闭的集水盆,为分析图像的区域特征提供了可能。

分水岭算法有时会产生过度分割,为了避免产生这种过度分割,通常可以采用两种处理方法,一是利用先验知识删除无关边缘信息。二是可以修改梯度函数,使得集水盆只响应所探测的目标。

对于通过梯度函数降低低分水岭算法的过度分割,需要对梯度函数进行改进,一个简单的改进方法是对梯度图像进行阈值处理,从而消除像素灰度值的微小变化引起过度分割。即:

g(x,y)=max(grad(f(x,y)),gθ)

式中,gθ表示阈值。

程序可采用方法:用阈值限制梯度图像以达到消除灰度值的微小变化产生的过度分割,获得适量的区域,再对这些区域的边缘点的灰度级进行从低到高排序,然后在从低到高实现淹没的过程,梯度图可由Sobel算子计算得到。对梯度图像进行阈值处理时,阈值的合理选择对分割结果有较大的影响,因此,阈值的选取是影响图像分割效果的一个关键。该方法的缺点是,通常一些实际图像可能含有微弱的边缘,灰度值变化不是特别明显,阈值选取过大可能会消除这些微弱边缘。

分水岭算法是数学形态学分割方法中的经典算法,它将图像看作是地形学上被水覆盖的自然地貌,图像中的每一像素的灰度值表示该点的海拔高度,其每一个局部极小值及其影响区域称为集水盆,集水盆的边界则是分水岭,在各极小区域的表面打一个小孔,同时让水从小孔中涌出,并慢慢淹没极小区域周围的区域,那么各极小区域波及的范围,即是相应的集水盆,对应图像中的区域;不同区域的水流相遇时的界限,就是期望得到的分水岭,对应区域的边缘。分水岭变换可以保证分割区域的连续性和封闭性。

分水岭变换是从局部极小点开始,即只能是在梯度图中用,原始图是转换后才能用于分水岭变换的。一般图像中存在多个极小值点,通常会存在过分割现象,可以采用梯度阈值分割改进或者采用标记分水岭算法将多个极小值区域连在一起。

如果图像中的目标物体是连在一起的,则分割起来会更困难,分水岭算法经常用于处理这类问题,通常会取得比较好的效果。分水岭分割算法把图像看成一副“地形图”,其中亮度比较强的地区像素值较大,而比较暗的地区像素比较小,通过寻找“汇水盆地”和“分水岭界限”,对图像进行分割。

步骤:

1.读取图像

2.求取图像的边界,在此基础上可直接应用分水岭分割算法,但效果不佳;

3.对图像的前景和背景进行标记,其中每个对象内部的前景像素都是相连的,背景里面的每个像素值都不属于任何目标物体;

4.计算分割函数,应用分水岭分割算法的实现

注:直接用分水岭分割算法效果并不好,如果在图像中对前景和背景进行标注区别,再应用分水岭算法会取得较好的分割效果。

例步骤:

1.读取图像并求取图像的边界。

rgb=imread('pears.png');%读取原图像

I=rgb2gray(rgb);%转化为灰度图像

figure;subplot(121)%显示灰度图像

imshow(I)

text(732,501,'ImagecourtesyofCorel',...

'FontSize',7,'HorizontalAlignment','right')

hy=fspecial('sobel');%sobel算子

hx=hy';

Iy=imfilter(double(I),hy,'replicate');%滤波求y方向边缘

Ix=imfilter(double(I),hx,'replicate');%滤波求x方向边缘

gradmag=sqrt(Ix.^2+Iy.^2);%求摸

subplot(122);imshow(gradmag,[]),%显示梯度

title('Gradientmagnitude(gradmag)')

2.直接使用梯度模值进行分水岭算法:(往往会存在过的分割的情况,效果不好)

L=watershed(gradmag);%直接应用分水岭算法

Lrgb=label2rgb(L);%转化为彩色图像

figure;imshow(Lrgb),%显示分割后的图像

title('Watershedtransformofgradientmagnitude(Lrgb)')

3.分别对前景和背景进行标记:本例中使用形态学重建技术对前景对象进行

标记,首先使用开操作,开操作之后可以去掉一些很小的目标。

se=strel('disk',20);%圆形结构元素

Io=imopen(I,se);%形态学开操作

figure;subplot(121)

imshow(Io),%显示执行开操作后的图像

title('Opening(Io)')

Ie=imerode(I,se);%对图像进行腐蚀

Iobr=imreconstruct(Ie,I);%形态学重建

subplot(122);imshow(Iobr),%显示重建后的图像

title('Opening-by-reconstruction(Iobr)')

Ioc=imclose(Io,se);%形态学关操作

figure;subplot(121)

imshow(Ioc),%显示关操作后的图像

title('Opening-closing(Ioc)')

Iobrd=imdilate(Iobr,se);%对图像进行膨胀

Iobrcbr=imreconstruct(imcomplement(Iobrd),...

imcomplement(Iobr));%形态学重建

Iobrcbr=imcomplement(Iobrcbr);%图像求反

subplot(122);imshow(Iobrcbr),%显示重建求反后的图像

title('Opening-closingbyreconstruction(Iobrcbr)')

fgm=imregionalmax(Iobrcbr);%局部极大值

分水岭算法原理

所谓分水岭算法有好多种实现算法,拓扑学,形态学,浸水模拟和降水模拟等方式。要搞懂就不容易了。WatershedAlgorithm(分水岭算法),顾名思义,就是根据分水岭的构成来考虑图像的分割。现实中我们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或都是连通的关系,就是我们可爱的分水岭(watershed)。为了得到一个相对集中的集水盆,那么让水涨到都接近周围的最高的山顶就可以了,再涨就要漏水到邻居了,而邻居,嘿嘿,水质不同诶,会混淆自我的。那么这样的话,我们就可以用来获取边界高度大,中间灰阶小的物体区域了,它就是集水盆。浸水法,就是先通过一个适当小的阈值得到起点,即集水盆的底;然后是向周围淹没也就是浸水的过程,直到得到分水岭。当然如果我们要一直淹没到山顶,即是一直处理到图像灰阶最高片,那么,当中就会出现筑坝的情况,不同的集水盆在这里想相遇了,我们要洁身自爱,到这里为止,因为都碰到边界了。不再上山。构筑属于自己的分水岭。在计算机图形学中,可利用灰度表征地貌高。图像中我们可以利用灰度高与地貌高的相似性来研究图像的灰度在空间上的变化。这是空域分析,比如还可以通过各种形式的梯度计算以得到算法的输入,进行浸水处理。分水岭具有很强的边缘检测能力,对微弱的边缘也有较好的效果。为会么这么说呢?为什么有很强的边缘检测能力,而又能得到相对集中的连通的集水盆?现实中很好办,我们在往凹地加水的时候,直到它涨到这一块紧凑的山岭边缘就不加了;但是如果有一条小山沟存在,那没办法,在初始阈值分割的时候,也就是山沟与集水盆有同样的极小值,而且它们之间是以这个高度一直连接的。那没关系,我们将它连通。在图像上呢?如何实现? 看看算法,算法思想是这样的: 首先准备好山和初始的水。这山就是我们的初始图像了,比如用自然获取的图像的梯度来表征山地的每一点的高度吧;而初始的水就是在阈值记为Thre底下,所有的低于这个高度的整个山地都加水,直到这个阈值Thre高度。从而有三个初始量:unsignedchar**Ori_image、 char**Seed_image和int**Label_image。最后一个是为最终的结果做准备的。当然要做好初始化,比如,Ori_image赋值为原图像(256色灰度图)的梯度值,Seed_image则是初始状态下有水的置位,无水的复位,而Label_image则全初始化为0,最终得到的是各点对应的区域号。接下来是考虑将已加的水进行记录,记录成连通的区域,也就是看看有多少个互不相关的集水盆,有五个,那么我们就涨出五个湖,而且尽可能的高,只要大家想到不溢出。在算法上,有多少个连通的区域就记录成多少个数据结构,功夫就在于如何将这些连通的区域连接成一块,并由一个数据结构来表达了。很好,我们准备用一个向量容器来实现初始保存,保存所有标记区域种子队列的数组,里面放的是种子队列的指针vque,而且这个队列是由一系列属于同一个区域的图像点组成,我们来自一个集水盆:);其保存方式是这样的:queue *pque=newqueue[256];(pque),这样便将一个成员放进到这个区域来了,即容器--集水盆的

程序设计与软件开发基础(一)

第27讲程序设计与软件开发基础(一) 教学目标及基本要求 掌握逐步求精的结构化程序设计方法,初步掌握良好的程序设计风格的内涵,掌握算法的基本概念,理解面向对象程序设计的基本概念。 教学重点 逐步求精的结构化程序设计方法,算法的基本概念。 教学难点 面向对象程序设计的基本概念,算法的复杂度。 教学内容 程序设计的风格 结构化程序设计 面向对象程序设计 算法的基本概念 算法的复杂度 教学时间 1学时 7.1 程序设计概述 7.1.1程序设计的风格 1.程序设计风格 程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。 程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理解的。 主导的程序设计风格:“清晰第一,效率第二” 。 2.良好程序设计风格 (1)源程序文档化 ①符号名的命名 见名知意 名字不宜太长 不要使用相似的名字 不要使用关键字做标识符 同一个名字不要有多种含义 ②程序注释 序言性注释: 通常位于每个程序的开头部分,它给出程序的整体说明。主要描述内容包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等。 功能性注释: 一般嵌在源程序体之中,主要描述其后的语句或程序做什么。 ③视觉组织 在程序中利用空格、空行、缩进等技巧使程序层次清晰。 (2)数据说明的方法 ①数据说明的次序规范化:数据说明次序固定,便程序理解、阅读和维护,可以使 数据的属性容易查找,也有利于测试、排错和维护。 ②说明语句中变量安排有序化:当一个说明语句说明多个变量时,变量按照字母顺 序排序为好。

③使用注释来说明复杂数据的结构。 ④显式地说明一切变量。 (3)语句的结构 ①在一行内只写一条语句。 ②程序编写应优先考虑清晰性,除非对效率有特殊要求,即清晰第一,效率第二。 ③首先要保证程序正确,然后才要求提高速度。 ④避免使用临时变量而使程序的可读性下降。 ⑤避免采用复杂的条件语句和不必要的转移,尽量使用库函数。 ⑥数据结构要有利于程序的简化,程序要模块化,且要尽量使模块功能单一化,利 用信息隐蔽,确保每一个模块的独立性。 ⑦尽量只采用3种基本控制结构来编写程序。 (4)输入和输出 ①对所有的输入数据都要检验数据的合法性以及检查输入项的各种重要组合的合理 性。 ②输入格式要简单,以使输入的步骤和操作尽可能简单。 ③输入数据时,应允许使用自由格式和缺省值。 ④输入一批数据时,最好使用输入结束标志。 ⑤以交互式方式输入、输出数据时,要在屏幕上有明确的提示符,数据输入结束时, 应在屏幕上给出状态信息。 ⑥当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性; 给所有的输出加注释,并设计良好的输出报表格式。 7.1.2 结构化程序设计 1.结构化程序设计的原则 自顶向下、逐步求精、模块化、限制使用GOTO语句。 (1)自顶向下 先总体,后细节;先全局目标,后局部目标。 (2)逐步求精 设计一些子目标作为过渡,逐步细化。 (3)模块化 把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。 (4)限制使用GOTO语句 使用GOTO语句有时会使程序执行效率较高,但也容易造成程序混乱,程序不易理解、不易排错、不易维护,因而要尽量限制使用GOTO语句。 2.结构化程序的基本结构与特点 结构化程序的基本结构只有3种:顺序、选择和循环 (1)顺序结构 如图7-1所示,顺序结构是顺序执行结构。所谓顺序执行,就是按照程序语句行的自然 图7-1 顺序结构

1-1算法的概念练习题及答案

[当堂达标] 1.我们已学过的算法有一元二次方程的求根公式、加减消元法求二元一次方程组的解、二分法求函数零点等,对算法的描述有: ①对一类问题都有效; ②对个别问题有效; ③计算可以一步一步进行,每一步都有唯一结果; ④是一种通法,只要按部就班地做,总能得到结果. 以上描述正确的有( ) A .1个 B .2个 C .3个 D .4个 答案:C 解析:设计的算法应该是对一类问题都有效,而不是只对个别问题有效.所以①对,②不对.由算法的确定性、有限性、顺序性易知③④都是正确的,故描述正确的有3个. ; 2.下列所给问题中,不能设计一个算法求解的是( ) A .用二分法求方程x 2-3=0的近似解(精确到 B .解方程组????? x +y +5=0,x -y +3=0 C .求半径为2的球的体积 D .判断y =x 2在R 上是否具有单调性 答案:D 解析:选项A ,B ,C 中的问题都可以设计算法求解,而D 项中的问题则不能设计算法求解. 3.“已知直角三角形两直角边长为a ,b ,求斜边长c ”的一个算法分下列三步: ①计算c =a 2+b 2; ②输入直角三角形两直角边长a ,b 的值;

③输出斜边长c 的值. : 其中正确的顺序是________. 答案:②①③ 解析:根据运算顺序,易知算法顺序应是②①③. 4.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,求它的总分和平均分的一个算法如下,请将其补充完整: 第一步:取A =89,B =96,C =99. 第二步,_____________________________________________. 第三步,_____________________________________________. 第四步,输出计算结果. 答案:计算总分D =A +B +C 计算平均分E =D 3 5.已知函数y =????? -x 2-1x ≤-1,x 3x >-1,试设计一个算法,输入x 的值,求对应的函数值. ^ 解:算法如下: 第一步,输入x 的值; 第二步,当x ≤-1时,计算y =-x 2-1,否则执行第三步; 第三步,计算y =x 3; 第四步,输出y . [课堂小结] 1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性. 2.算法设计的要求: (1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.

算法与程序设计(教科版)教案

算法与程序设计(教科版)教案 1-1节计算机解决问题的过程 一、教学目标 1、知识与技能 (1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 (2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 (3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 2、方法与过程 (1)培养学生发现旧知识的规律、方法和步骤,并把它运用到新知识中去的能力。 (2)培养学生调试程序的能力。 (3)培养学生合作、讨论、观摩、交流和自主学习的能力。 3、情感态度和价值观 通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。 二、重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、教学环境 1、教材处理 教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003年4月版)中信息技术部分的选修模块1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。教材选用《广东省普通高中信息技术选修一:算法与程序设计》第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。 根据2003年4月版《普通高中技术课程标准》的阐述,“算法与程序设计”是普通高中信息技术的选修模块之1,它的前导课程是信息技术的必修模块“信息技术基础”。学生在“信息技术基础”模块里已经学习了计算机的基本操作,掌握了启动程序、窗口操作和文字编辑等基础知识。学生可以利用上述的基础知识,用于本节课的启动Visual Basic程序设计环境,输入程序代码,运行程序等操作。本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。 让学生在人工解题中发现分析问题、设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。 2、预备知识 本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。 3、硬件要求

算法的概念的教学设计说明

算法的概念的教学设计 杭二中分校海玲 一.容和容解析 算法是规则系统一种循序渐进解决问题的过程,尤指一种为在有限步骤解决问题而建立的可重复应用的计算过程。(概念的涵广义) 在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。(概念的涵狭义) 算法概念这一节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础。(容及在本章的地位) 算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的容能为以后学习本章程序框图、基本算法语句以及选修1-2第四章“框图”容奠定基础.由于程序框图体现的是算法的思想,故其思想方法可运用到数学的各个领域之中.(在学科中地位)算法也是数学及其应用的重要组成部分,算法是连接人和计算机的纽带。是计算机科学的基础,利用计算机解决问题需要算法。首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言进行算法设计是使用计算机解决具体问题的一个极为重要的环节。(体现其应用性) 二.目标和目标解析 本节课通过对解决具体问题的过程与步骤的分析,让学生体会算法的思想,了解算法的含义。具体目标为: 1.要求学生了解算法的含义,体会算法的思想。 2.在分析实例的基础上了解算法的基本特征。 3.能够用自然语言描述一些具体问题的算法。 本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法.三.教学问题诊断 本节算法对学生来说并不陌生。生活中很多问题是按照指定的要求一步步解决的;小学的四则混合运算所遵循的先乘除、后加减的规则,括号的处理规则等,都是学生最初接触到的算法实例。初中学习的方程组的解法等,也是算法的典型体现。高中学习的必修1中求函数零点的二分法的解题步骤、必修5中线性规划的解题规律等更成了算法的经典问题。还有数列的求和、质数的判定、最大公约数和最小公倍数的求法等,都涉及到算法。同时,在其他学科、甚至生活中也离不开算法。 算法的实质是将人的思维过程处理成计算机能够一步一步执行的步骤,进而转化为一步一步执行的程序。这种处理问题的方式,学生以往有一些经验,如教师对某些题型总结的较为固定的解题步骤。不过这种经验并没有得到应有的升华。只有在完整地学习了算法后,学生才能把这些知识提升到新的高度来认识。算法是对解题方案的准确而完整的构造性的描述。算法并不是容易理解和掌握的容。教学难点是对算法概念的理解和对算法的描述,尤其是对循环问题的递归语言表达,由于学生初次接触,更加难以掌握。 教师可以首先通过实际生活中的生动有趣的例子帮助学生了解算法的含义,明白算法是规则系统一种循序渐进解决问题的过程。在此基础上通过引导学生在具体情境之下回顾特殊的二元一次方程组的求解,自然展示求解的“步骤”,从而帮助学生进一步明白算法是在有限步骤解决问题而建立的可重复应用的计算过程,并能够编成计算机可以执行的程序让计算机执行并解决问题的。 在建立了算法的概念以后,教师可以通过进一步介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想。 接着通过例1和例2设计算法,帮助学生学会用自然语言描述算法,质数的判断是学生小学就

分水岭算法

解决分水岭算法的过分割问题 班级:020751 学号:02075087 姓名:刘恺

摘要针对基于分水岭变换的分割算法通常存在过分割现象,提出了一种新的分割算法,采用形态学的运算去除噪声及背景像素的影响,搜索区域极大值点,将分割定位于目标图像,从而达到很好的分割效果,方法从消除过分割及区域轮廓定位等方面均具有很好的分割效果。 关检词图像分割,分水岭变换,数学形态学 Abstract The article is based on watershed algorithm, proposed a method of image segmentation, adopted the morphology arithmetic to eliminate the effect of noise and background pixel, search for the max point in each area, let segmentation orientate as target image, could reach very good segment effect. The method can efficiently eliminate over-segmentation, and hold the position of region contours without evident bias. Key words image segmentation, watershed transform ,mathematical morphology 1.1图像分割综述 把图像分解为一些特定的性质相似的部分(区域或对象),并用这些部分对图像进行分析和描述。一幅图像往往包含许多不同类型的区域,如物体、环境和背景等。图像分析的一个重要方法就是用它们作为基本组成成分对图像进行描述。例如为了在气泡室图片中检出质点碰撞形式并判定其发生位置,就要在图像中分割出气泡的轨迹及其端点。为了从输入的文本中识别出一串字符,首先就要把各个字符从背景和其他字符中分离出来。因此把图像分割为若干子图像,并利用各子图像的特性和它们之间的关系描述图像,对于图像识别和解释、物景分析以及图像的分块处理和存储都有很大的意义。 图像分割基本上是对像素进行分类的过程。例如用某个灰度阈值把图像像素分成“黑”和“白”两类,就可以把黑的对象同白的背景区分开。常用的分割方法有灰度等级阈值法、谱和空间分类法、区域生长法和边缘检测法。 灰度等级阈值法在图像只有两种组成部分的情况下,图像灰度的直方图常常呈现两个峰值。用两个峰值之间的谷值所对应的灰度作为阈值,把所有像素灰度大于或等于阈值的作为一类,小于阈值的作为另一类是一种最基本的两类分割方法。实际应用时为了改善分类的可靠性,可以利用某些附加的信息(例如已知两类区域的面积之比)使阈值的选择更加合理。在类别更多的情况下,可以采用多级阈值把各类分割开来(例如确定两个阈值,就可以把细胞图像分割为胞核、胞浆和背景三部分)。类别越多,图像直方图的峰值就越不明显,分割就更为困难。 谱和空间分类法对于彩色和多光谱图像,可以用像素的几种性质(颜色和谱信号)对像素作比较精细的分类。对于黑白图像,用包括像素本身灰度在内的一组局部性质(例如该像素邻域灰级的均值)在多维空间中进行分类。对于一些复杂图像,这种方法比单独的灰度阈值法效果更好。

算法与算法描述教学设计

算法与算法描述教学设 计 公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

算法与算法描述教学设计 一、教学目标 (一)知识与技能 1.充分理解掌握算法的概念及其特点 2.学会用自然语言来准确地描述算法 3.认知流程图的六种基本符号,用流程图描述简单的算法 4.理解科学合理的选择和设计算法 (二)过程与方法 1.通过问题的解决,培养学生观察流程图问题、分析问题和解决问题的能力 (三)情感态度与价值观 激发学生学习算法设计的兴趣,使学生积极参与,发挥他们的主动性,激发他们的求知欲;认识计算机只是工具,合理的指挥和控制计算机来解决学习和生活中的问题。 二、内容分析

教学重点: 1. 充分理解掌握算法的概念及其特点 2. 学会用自然语言和流程图来准确地描述算法 教学难点: 学会用自然语言和流程图来准确地描述算法 三、学生分析 在必修模块“编制计算机程序解决问题”部分以及本章第一节的学习中,学生已经经历了用计算机解决问题的基本过程,对VB开发环境有所了解,这些都为本节课的学习提供了良好的基础。(学生对本节内容的学习具备一定的基础知识和学习经验) 本节课有关知识、问题与数学学科联系紧密,学生具有相关的数学基础,因此理解起来相对容易。教学中要关注全体学生,变学生的个体差异为资源,发挥同伴互助作用,共同提高教学效率。 四、教学策略 1、教学方法:讲授法、演示法、任务驱动、情境教学

2、学习方法:协作学习、自主学习 五、教学过程

六、教学反思: 本课充分发挥了学生的主观能动性,在教学中教师一般是提出问题让学生思考探究、注重实践、互动交流;另外举例生动形象,简单明了,学生学习起来兴趣浓厚,学生在轻松愉快的过程中较好的掌握了算法的概念,理解算法的设计和优劣的选择。学生初步接触编程,设计好这堂课的内容,能够激起学生学习编程的兴趣。

概念格合并原理与算法

概念格合并原理与算法 智慧来1,2,智东杰2,刘宗田1 (1.上海大学计算机工程与科学学院,上海200072;2.河南理工大学计算机科学与技术学院,河南焦作454150) 摘 要: 子形式背景可以进行纵向或横向合并得到一个新的形式背景,相反地,这个形式背景可以进行纵向或 横向的拆分得到子形式背景.相应地,子概念格也可以进行合并,得到一个新的概念格.概念格合并无论是纵向合并还是横向合并,合并都不改变原有概念之间业已存在的父子关系.根据这个事实,结合概念格合并的定义,设计了概念格合并算法.此算法充分利用原有概念格的结构,在原有概念格基础上对部分节点进行调整得到合并结果.实验和分析均表明与将一概念格中的概念插入到另一个概念格的算法相比,此算法效率明显提高,适合概念格的合并运算. 关键词: 概念格;子格;纵向合并;横向合并中图分类号: TP18 文献标识码: A 文章编号: 037222112(2010)022******* Theory and Algorithm of Concept Lattice Union ZHI Hui 2lai 1,2,ZHI D ong 2jie 2,LI U Z ong 2tian 1 (1.School o f Computer Engineering and Science ,Shanghai Univer sity ,Shanghai 200072,China ; 2.School o f Computer Science and Technology ,H enan Polytechnic Univer sity ,Jiaozuo ,H enan 454150,China ) Abstract : Vertical union and horizontal union can be carried on sub 2context ,vice versa ;vertical split and horizontal split can be carried on a context.Accordingly ,sub 2lattice of the sub 2context can be united to create a new lattice which is affiliate to the con 2text created by the sub 2contexts.Both vertical union and horizontal union don ’t change the father 2son relationships that already exist in the sub 2lattice.Based on this fact and the definition of lattice union ,a union algorithm of concept lattices is put forward.This al 2gorithm uses the sub 2lattices ’structure ,only a few adjustment need to be made.Experiments and analysis show that compared with inserting one lattice ’s concepts into another lattice one by one ,the efficiency of this algorithm is improved. K ey words : concept lattice ;sub 2lattice ;vertical union ;horizontal union 1 引言 随着处理的形式背景的增大,概念格的时空复杂度 也会随着急剧增大.研究采用新的方法和手段来构造概念格,是形式概念分析应用于大型复杂数据系统的前提.而概念格的分布处理[1]思想就是通过形式背景的拆分,形成分布存储的多个子背景,然后构造相应的子概念格,再由子概念格的合并得到所需的概念格.这称为概念格分布处理模型或分布式概念格模型. 形式背景的拆分有横向和纵向之分.把一个形式背景拆分成多个子背景,也称作局部背景,其对应的概念格就可称为子概念格或部分格.形式背景所对应的概念格可通过各子概念格进行合并来实现.这种概念格的构造方法采用的是一种分治策略,或者说是概念格的分布处理模型或框架. 在采用分治策略构造概念格的研究中,P.Valtchev 等分别在文献[2]和文献[3]提出了叠置格和并置格两 种概念格的构造方案.在文献[2,3]中,子格的构造采用的是一种递归的G odin 算法[4],并在概念格的构造中引入了下覆盖概念.而在子格或局部格合并为完整格或全局格中,两种方案中都是引入了子格和完整格之间的两个映射函数来通过部分格概念计算全局格概念. 以并置格为例,设形式背景的属性被分割为A 1和A 2,对于部分格中的两个概念(X 1,Y 1)和(X 2,Y 2),那么这两个映射函数φ和ψ就可定义为:设函数φ:G L →P L ,是全局格概念到部分格概念的映射,那么:φ(X ,Y )=((f (Y ∩A 1),Y ∩A 1),(f (Y ∩A 2),Y ∩A 2));同理,设函数ψ:P L →G L ,,是部分格概念到全局格概念的映射,那么:ψ((X 1,Y 1),(X 2,Y 2))=(X 1∩X 2,g (X 1∩X 2)). 有了上述的两个映射函数,就可以通过枚举两个子格概念之间的组合,计算出其对应的全局格概念.但是,在P.Valtchev 的算法中,由于一个部分格的概念对另一部分格的概念是遍历计算,会产生较大的重复,从而影响了算法效率. 收稿日期:2009203211;修回日期:2009209210 基金项目:国家自然科学基金(N o.60275022,60575035);上海大学创新基金(N o.A.16201082082002)   第2期2010年2月 电 子 学 报 ACT A E LECTRONICA SINICA V ol.38 N o.2 Feb. 2010

概念格

概念格 在哲学中,概念被理解为由外延和内涵所组成的思想单元。基于概念的这一哲学理解,德国数学家Wille R.于1982年首先提出了形式概念分析用于概念的发现,排序和显示。形式概念分析,也成为概念格。形式概念分析理论是一种基于概念和概念层次的数学化表达。 形式概念分析的基础是形式背景(U、A。I),一个由对象集U,属性集A,以及U与A间的二元关系I构成的三元组。在形式背景的基础上,获得形式概念(X、B),其中X称为概念的外延,是属于这个概念的所有对象的集合;B称为内涵,是所有这些对象所具有的属性(特征)集。概念是外延和内涵的统一体。这种实现了对概念的哲学理解的形式化。 所有的概念同他们之间的泛化/例化关系构成一个概念格。概念格的每一个节点是一个形式概念。概念格结构模型是形式概念分析理论中的核心数据结构。它本质上描述了对象和特征之间的联系,表明了概念之间的泛化和例化关系,对应的Hasse图实现了对数据的可视化。因此,概念格被认为是进行数据分析的有力工具。 知识发现是从数据集中忠识别正确、新颖、有潜力应用价值的、以及最终可以为人们理解的模式的方法,数据库知识发现的过程就是讲数据库中蕴含的知识形式化成有用概念的过程,是人工智能的核心问题。概念格作为一种具有极大潜力的有效的知识发现工具,因此备受关注。 概念格主要用于机器学习,模式识别,专家系统,计算机网络,数据分析,决策分析,数据挖掘,信息检索等领域。 研究概念格的价值在于解决知识发现领域中所涉及的关联规则、蕴含规则、分类规则的提取,和实现信息的有机组织,减少冗余度,简化信息表等。 概念格理论的研究主要集中在一下几个方面: (1)概念格的建造。 从数据集(概念格中称为形式背景)中生成概念格的过程实质上是一种概念聚类过程。对于同一批数据,所生成的格式唯一的。建格算法可以分为:批处理算法、渐进式算法(或称增减算法)、并行算法。 对于给定的形式背景(U、A、I)(其中对象集U,属性集A,以及U与A间的二元关系I),存在唯一一个偏序集合与之对应。由偏序集构成一种格结构,并且此偏序集满足自反性,反对称性和传递性。若u∈U,a∈A,uIa表示对象U具有a属性。 格中的每一个节点称之为概念,记作C(X,Y),X∈U是概念C(X,Y)的外延,Y ∈A是概念中对象的共有属性(内涵)。 节点概念与节点概念之间存在着偏序关系,若有概念C1=(X1,Y1)C2=(X2,Y2),并且X1〉X2〈=〉Y1〈Y2,称C1为C2的父节点。概念格的实行背景通常是由如下表所示的二维数组来表示,第i行J列的数值为一表示存在该属性,为0表示不存在该属性。

三年级为什么是分水岭、该如何注意(转班主任老师发言稿)

三年级为什么是分水岭、该如何注意(转班主任老师发言稿) 一、三年级学生变化特点 开学快一个月了,可能家长已经感受到了三年级作为中年段,对孩子的要求有了些许变化,比如作业本变成横条本啦,大作文小作文啦,课堂上语文书作笔记啦,成绩怎么大幅度下滑啦,等等等等,是的,三年级和二年级对孩子学习习惯和能力的要求都有了很大的提高,并且,从近两次的语数测验来看,班上的大多数孩子还没有适应年段的要求,在学习上找到感觉,仍然花着二年级的学习时间来面对三年级的学习任务,我看着有些着急,所以也就借由这次的家长会和家长谈谈新年段您需要关注的内容,(虽然都是老生常谈的)但越是重复的,越是重要。 三年级是一个关键年段,学生的两极分化现象开始出现,有些学生很可能就在这个年段成为了学困生。有人将学生的小学六年学习成绩,比喻为“u”字型,低年级起点较高,中间的三年级是处于最低点,但随着年级的增长,在往后的学习中,成绩又会慢慢地升起,直至最高点。所以说三年级是小学阶段的关键期和转折期。 1、所学知识从简单基础变为复杂多样,所学知识是小学的重要转折点。除了掌握基础知识以外,作业更多的是句与片段的训练,很多题目也没有什么最标准的答案的。这对学生提出了更高的要求,基础必须扎扎实实地掌握,该读的还要读,该抄的还得抄,但同时还要拓展孩子的思维,从不同角度去考虑问题。同时,阅读能力要求也很高。 (这个在后面谈到语文学习时再具体说一说) 2、心理变化特点 三年级的孩子对很多事情都处于好奇,开始有独立性,知道“难为情”了,他怕“丢面子”了,所以各位家长在批评孩子的时候一定要把握好尺度。同时,孩子们的思想从单纯走向了复杂,很倔,不听我们家长的话了。这也是一个非常普遍的现象。三年级正好是他们的一个心理反叛期。这时家长要进行适当的引导和教育。将他们引向一个正确的方向。 3、学生之间出现很大差异,这和习惯存在着很大的关系 (1)首先正是因为孩子学习习惯上的差异,而造成了学习效率的一种差异。好的习惯:上课时专心,作业专注,作业速度很快。坏的习惯:发呆、开小差、说话、神游、拖拉、磨蹭、不交作业 (2)其次家庭的重视程度有差异。敷衍了事(作业、生活习惯、卫生习惯——责任心)说说班上的个别孩子的家长疏于对孩子的管理。 二、培养孩子良好的习惯

算法和算法的描述教案

算法和算法的描述(教学案例) 教材分析: 这节课内容主要是一些概念和理论,而算法的概念和理论都太抽象,讲起来非常的枯燥乏味,那么就要把这些抽象的东西变得通俗易懂,使学生能轻松而又愉快的接受并理解。 学生分析: 学生基本上没有接触过编程,那么在高中阶段初步接触编程,学生首先会感到很深奥,看到书中的程序语句,尤其是看到后面的长一点的程序语句更是觉得可怕,那教师必须要考虑在授课中如何正确引导,以什么样的方式进行。学生有没有兴趣学,往往看这个课是不是有意思,难不难学,一看难学又乏味,就开始产生厌学的情绪。 教学目标: 引导学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,为程序设计打好基础。 教学重点: 算法的概念、算法的设计和选择。 教学难点: 如何科学合理的选择和设计算法。 教学方法: 与学生进行互动探讨式教学,以趣味智力题激发学生探索解决问题的兴趣,以故事事例和具体的程序运行对比,引导学生一步步的思考,从而总结出算法的概念,以及如何设计和选择算法,充分调动学生的主观能动性和探究学习能力。 教学过程: 1、引导学生对编程的兴趣 (1)教师:同学们喜欢玩电脑游戏吗? (2)学生:喜欢!(说到游戏学生总是表现出很浓的兴趣。) (3)教师:在上机练习课的时候,总发现有个别同学偷偷的玩游戏,其实你们喜欢,老师也很喜欢,那么同学们想不想自己编个游戏来玩呀? (4)学生:会不会很麻烦!(学生表现出好奇,又对编程心里还没有底。) (5)教师:不用担心,编程并不像你们所想像的那样难,很快你们就会编一些小游戏程序了。其实编程是件非常有意思的事情,在以后的学习中你会发现自己越来越喜欢编程,甚至会着迷的。 2、算法的概念 (1)教师:幻灯片出示一个经典的趣味性例子, 有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河? (2)教师:分组讨论,前后四个同学为一组,把你们的橡皮擦放到一块,分别写上狼、羊、白菜,你们自己是牧羊人,现在请同学们来设计一个方案,把3样东西安然无恙的带过河。我们来比一比看哪组同学最快完成。 课堂立即活跃起来,同学们把它当作一种游戏全都投入进去了,积极思考起来。 (3)很快就有学生举手回答。 过河的方案: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河。 (4)教师:同学们这个方案行不行? (5)学生:行。

《算法与程序设计》VB教案

1-1节计算机解决问题的过程 一、教学目标 1、知识与技能 (1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 (2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 (3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 2、方法与过程 (1)培养学生发现旧知识的规律、方法和步骤,并把它运用到新知识中去的能力。 (2)培养学生调试程序的能力。 (3)培养学生合作、讨论、观摩、交流和自主学习的能力。 3、情感态度和价值观 通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。 二、重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、教学环境 1、教材处理 教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003年4月版)中信息技术部分的选修模块1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。教材选用《广东省普通高中信息技术选修一:算法与程序设计》第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。 根据2003年4月版《普通高中技术课程标准》的阐述,“算法与程序设计”是普通高中信息技术的选修模块之1,它的前导课程是信息技术的必修模块“信息技术基础”。学生在“信息技术基础”模块里已经学习了计算机的基本操作,掌握了启动程序、窗口操作和文字编辑等基础知识。学生可以利用上述的基础知识,用于本节课的启动Visual Basic程序设计环境,输入程序代码,运行程序等操作。本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。 让学生在人工解题中发现分析问题、设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。 2、预备知识 本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。 3、硬件要求 可以进行屏幕广播的多媒体电脑室。教师自行设计制作的课件。准备《计算机解决问题的过程》教学活动表。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(100分钟) 四、教学过程 (一)引入

3种不同的分水岭分割方法以及三种方法的比较

程序代码:(代码标记[code]...[/code] ) clear,clc %三种方法进行分水岭分割 %读入图像 filename='Fig1021(a)(small-blobs).tif'; f=imread(filename); Info=imfinfo(filename); if Info.BitDepth>8 f=rgb2gray(f); end figure,mesh(double(f));%显示图像,类似集水盆地 %方法1:一般分水岭分割,从结果可以看出存在过分割问题 b=im2bw(f,graythresh(f));%二值化,注意应保证集水盆地的值较低(为0),否则就要对b取反 d=bwdist(b); %求零值到最近非零值的距离,即集水盆地到分水岭的距离 l=watershed(-d); %matlab自带分水岭算法,l中的零值即为风水岭 w=l==0; %取出边缘 g=b&~w; %用w作为mask从二值图像中取值 figure subplot(2,3,1),imshow(f); subplot(2,3,2),imshow(b); subplot(2,3,3),imshow(d); subplot(2,3,4),imshow(l); subplot(2,3,5),imshow(w); subplot(2,3,6),imshow(g); %方法2:使用梯度的两次分水岭分割,从结果可以看出还存在过分割问题(在方法1的基础上改进)h=fspecial('sobel');%获得纵方向的sobel算子 fd=double(f); g=sqrt(imfilter(fd,h,'replicate').^2+imfilter(fd,h','replicate').^2);%使用sobel算子进行梯度运算 l=watershed(g);%分水岭运算 wr=l==0; g2=imclose(imopen(g,ones(3,3)),ones(3,3));%进行开闭运算对图像进行平滑 l2=watershed(g2);%再次进行分水岭运算 wr2=l2==0; f2=f; f2(wr2)=255;

分水岭算法

分水岭算法的概念及原理 分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。 分水岭的计算过程是一个迭代标注过程。分水岭比较经典的计算方法是L. Vincent提出的。在该算法中,分水岭计算分两个步骤,一个是排序过程,一个是淹没过程。首先对每个像素的灰度级进行从低到高排序,然后在从低到高实现淹没过程中,对每一个局部极小值在h阶高度的影响域采用先进先出(FIFO)结构进行判断及标注。 分水岭变换得到的是输入图像的集水盆图像,集水盆之间的边界点,即为分水岭。显然,分水岭表示的是输入图像极大值点。因此,为得到图像的边缘信息,通常把梯度图像作为输入图像,即 g(x,y)=grad(f(x,y))={[f(x,y)-f(x-1,y)]2[f(x,y)-f(x,y-1)]2}0.5 式中,f(x,y)表示原始图像,grad{.}表示梯度运算。 分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。但同时应当看出,分水岭算法对微弱边缘具有良好的响应,是得到封闭连续边缘的保证的。另外,分水岭算法所得到的封闭的集水盆,为分析图像的区域特征提供了可能。 为消除分水岭算法产生的过度分割,通常可以采用两种处理方法,一是利用先验知识去除无关边缘信息。二是修改梯度函数使得集水盆只响应想要探测的目标。 为降低分水岭算法产生的过度分割,通常要对梯度函数进行修改,一个简单的方法是对梯度图像进行阈值处理,以消除灰度的微小变化产生的过度分割。即 g(x,y)=max(grad(f(x,y)),gθ) 式中,gθ表示阈值。 程序可采用方法:用阈值限制梯度图像以达到消除灰度值的微小变化产生的过度分割,获得适量的区域,再对这些区域的边缘点的灰度级进行从低到高排序,然后在从低到高实现淹没的过程,梯度图像用Sobel算子计算获得。对梯度图像进行阈值处理时,选取合适的阈值对最终分割的图像有很大影响,因此阈值的选取是图像分割效果好坏的一个关键。缺点:实际图像中可能含有微弱的边缘,灰度变化的数值差别不是特别明显,选取阈值过大可能会消去这些微弱边缘。 分水岭算法(Watershed Algorithm) 所谓分水岭算法有好多种实现算法,拓扑学,形态学,浸水模拟和降水模拟等方式。要搞懂就不容易了。Watershed Algorithm(分水岭算法),顾名思义,就是根据分水岭的构成来考虑图像的分割。现实中我们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或都是连通的关系,就是我们可爱的分水岭(watershed)。为了得到一个相对集中的集水盆,那么让水涨到都接近周围的最高

算法与程序--教案(1)

第二课算法与程序 一、教材分析 (一)内容分析 算法的描述方法相对灵活,常用的描述算法的方法有自然语言、流程图和伪代码三种,对于小学生来说,会用前两种方法来描述算法即可。程序是算法在计算机上运行时的具体实现,它是指令的集合,需要利用某种具体的计算机语言来编写。本课主要让学生理解算法与程序的关系,并通过一个实例来体验Scratch程序的特点。 (二)教学目标 ①通过一个算法的具体设计过程理解算法的自然语言和流程图描述方法,并通过对比体验到两种方法各自的特点,培养学生使用条理化的算法描述自己解决问题过程的习惯。 ②通过体验一个Scratch程序使学生认识到程序的实质以及程序与算法的区别,消除对程序的神秘感,为以后进一步的程序设计学习打下良好的基础。 (三)教学重点和难点 (1)教学重点 ①算法的自然语言描述法及流程图描述法。 ②Scratch程序的特点。 (2)教学难点 程序的概念。

二、教学建议 (一)课前准备 教师准备好教材资源“课堂练习”中的“大鱼吃小鱼,sb2”。 重要说明:教材资源中所有的Scratch程序均有两个版本,其中扩展名为“sb”的程序适用于Seratch4,扩展名为“sb2”的程序适用于Scratch.2.0,教师与学生在使用时可自行选择合适的文件。 (二)过程设计 (1)新课导入(任务驱动) 完成活动一,分别用自然语言和流程图两种方式描述一个行程预案。参考方案: 自然语言描述: 如果不下雨,则 ①7:10在中学校门口集合完毕; ②7:20参加升旗仪式; ③7:50到报告厅听数学课(8:00-8:40); ④8:50到学校餐厅参观(30分钟); ⑤带队步行返回小学。 否则 ①15:30在中学校门口集合完毕; ②15:40到学校餐厅参观(30分钟); ③16:20到报告厅听特色校本课(16:30-17:10); ④17:20参加课外活动(17:20-18:00);

相关文档
最新文档