当前位置:文档之家› 图形+数组输出

图形+数组输出

图形+数组输出
图形+数组输出

1.编写程序,使用双循环输出下列三角形(不能使用两维数组)。

D D D D D D D

C C C C C

B B B

A

2. 编写程序,使用双循环输出下列三角形(不能使用两维数组)。

m n o p q r s

m n o p q

m n o

m

3. 编写程序,输出下列三角形(不能使用两维数组)。

1

2 2 2

3 3 3 3 3

4 4 4 4 4 4 4

4.编写程序,使用双循环输出下列三角形:(不能使用两维数组)。

A

A B C

A B C D E

A B C D E F G

5.编写程序,输出下列三角形:(不能使用两维数组)。

1

1 2 3

1 2 3 4 5

1 2 3 4 5 6 7

6.编写程序,使用双循环输出下列三角形:(不能使用两维数组)。

1 2 3 4 5 6 7

1 2 3 4 5

1 2 3

1

}

7.编写程序,用循环和表达式输出下面图形。(不能使用两维数组)。

1 2 3 4

5 6 7 8

9 10 11 12

8.编写程序,用循环输出下面的图形。(不能使用两维数组)。

*

***

*****

*******

*********

*******

*****

***

*

9.编写程序,用循环输出下面的图形。(不能使用两维数组)。

**********

**********

**********

**********

**********

10. 编写程序,建立并输出一个10*10的矩阵,该矩阵主次对角线元素为其行号,其它元素均为0。求其主对角线元素的立方根之和。

(结果:14.8096832175)

11.把50-85这36个自然数按行赋给二维数组A(5,5),计算输出主对角线以上(含主对角线)各元素值的立方根之积。

12. 编写程序,实现一维数组A(10)元素值循环左移4位。

例数组的原值:1 2 3 4 5 6 7 8 9 10

结果为:5 6 7 8 9 10 1 2 3 4

13. 编写程序,从键盘读入一个字符串(该串在输入时以回车键结束这,均为小写字母),求每个字母出现的次数。

14.编写程序,建立一个5×5的二维整型数组(数据由随机函数产生),分别计算两条对角

线上的元素之和s1和s2。

15.编写程序,建立一个6×6的二维数组(数据自定或由程序随机产生),输出数组中的最大元素,并统计最大元素所在行的所有元素之乘积。

16. 编写程序,建立一个6×6的二维数组(数据自定或由程序随机产生),输出数组每行的最大值。

24.设有以下两组数据:

A:87,97,96,45,23,65,78,50

B:21,32,54,36,47,37,38,55

编写程序,把上面两组数据分别赋给两个数组。然后把两个数组中对应下标的元素相乘,并把相应结果放入第三个数组,计算第三个数组各元素的平方根之和并输出。

(结果:399.5086338)

软件工程综合应用例题解析

软件工程综合应用例题 第一部分 《结构化软件开发方法》 1、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 解: 2、高考录取统分子系统有如下功能: (1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 试根据要求画出该系统的数据流程图,并将其转换为软件结构图。 解:(1)数据流图: (2)软件结构图: ① 原始分 ② 标准分 ③ 招生计划 ④ 录取线 3、有下列伪码程序: START INPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIF PRINT(X,Y) STOP

设计该程序的语句覆盖和路径覆盖测试用例。 解: 语句覆盖测试用例为 ①M=9(或=10),N=20(或>=20) 路径覆盖的测试用例为 ①M=9,N=19; ②M=9、N=20; ③M=l0,N=l9; ④M=10,N=20 4、画出下列伪码程序的程序流程图、盒图(N-S图)、PAD图。 START IF p THEN WHILE q DO F END DO ELSE BLOCK g n END BLOCK END IF STOP 解: 5、根据下面程序流程图,给出测试用例: 解:路径覆盖可使用测试用例: ⑴【A=1,B=1,X=1】 ⑵【A=1,B=1,X=2】

图形学实验报告

计 算 机 图 形 学 实验指导书 学号:1441901105 姓名:谢卉

实验一:图形的几何变换 实验学时:4学时 实验类型:验证 实验要求:必修 一、实验目的 二维图形的平移、缩放、旋转和投影变换(投影变换可在实验三中实现)等是最基本的图形变换,被广泛用于计算机图形学的各种应用程序中,本实验通过算法分析以及程序设计实验二维的图形变换,以了解变换实现的方法。如可能也可进行裁剪设计。 二、实验内容 掌握平移、缩放、旋转变换的基本原理,理解线段裁剪的算法原理,并通过程序设计实现上述变换。建议采用VC++实现OpenGL程序设计。 三、实验原理、方法和手段 1.图形的平移 在屏幕上显示一个人或其它物体(如图1所示),用交互操作方式使其在屏幕上沿水平和垂直方向移动Tx和Ty,则有 x’=x+Tx y’=y+Ty 其中:x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。其交互方式可先定义键值,然后操作功能键使其移动。 2.图形的缩放 在屏幕上显示一个帆船(使它生成在右下方),使其相对于屏幕坐标原点缩小s倍(即x方向和y方向均缩小s倍)。则有: x’=x*s y’=y*s 注意:有时图形缩放并不一定相对于原点,而是事先确定一个参考位置。一般情况下,参考点在图形的左下角或中心。设参考点坐标为xf、yf则有变换公式x’=x*Sx+xf*(1-Sx)=xf+(x-xf)*Sx y’=y*Sy+yf*(1-Sy)=yf+(y-yf)*Sy 式中的x与y为变换前图形中某一点的坐标,x’和y’为变换后图形中该点的坐标。当Sx>1和Sy>1时为放大倍数,Sx<1和Sy<1时为缩小倍数(但Sx和Sy

实验二图像的代数运算

昆明理工大学信息工程与自动化学院学生实验报告 ( 2012 —2013 学年第二学期) 一、实验目的 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验原理 图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。如果输入图像为A(x,y)和B(x,y),输出图像为C(x,y),则图像的代数运算有如下四种形式: C(x,y) = A(x,y) + B(x,y) C(x,y) = A(x,y) - B(x,y) C(x,y) = A(x,y) * B(x,y) C(x,y) = A(x,y) / B(x,y) 图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算术操作,还能为许多复杂的图像处理提供准备。例如,图像减法就可以用来检测同一场景或物体生产的两幅或多幅图像的误差。 使用MATLAB的基本算术符(+、-、*、/ 等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。为了更方便地对图像进行操作,MATLAB图像处理工具箱包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。下表列举了所有图像处理工具箱中的图像代数运算函数。

表2-1 图像处理工具箱中的代数运算函数 能够接受uint8和uint16数据,并返回相同格式的图像结果。虽然在函数执行过程中元素是以双精度进行计算的,但是MATLAB工作平台并不会将图像转换为双精度类型。 代数运算的结果很容易超出数据类型允许的范围。例如,uint8数据能够存储的最大数值是255,各种代数运算尤其是乘法运算的结果很容易超过这个数值,有时代数操作(主要是除法运算)也会产生不能用整数描述的分数结果。图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。例如,如果数据类型是uint8,那么大于255的结果(包括无穷大inf)将被设置为255。 注意:无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。三、实验步骤 1.图像的加法运算 图像相加一般用于对同一场景的多幅图像求平均效果,以便有效地降低具有叠加性质的随机噪声。直接采集的图像品质一般都较好,不需要进行加法运算处理,但是对于那些经过长距离模拟通讯方式传送的图像(如卫星图像),这种处理是必不可少的。 在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下:Z = imadd(X,Y) 其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。 图像加法在图像处理中应用非常广泛。例如,以下代码使用加法操作将图2.1中的(a)、(b)两幅图像叠加在一起: I = imread(‘rice.tif’); J = imread(‘cameraman.tif’); K = imadd(I,J); imshow(K); 叠加结果如图2.2所示。

图像实验报告2

甘肃政法学院 本科生实验报告 ( 一) 姓名:周红 学院:信息工程学院 专业:信息管理与信息系统 班级:2014级信管班 实验课程名称:图形图像处理实验 实验日期: 2017年4月27日 开课时间: 2016-2017学年第二学期 甘肃政法学院实验管理中心印制

结果如下: 图1_1_1椒盐噪声图 高斯噪声代码如下: import cv2 import numpy as np import matplotlib.pyplot as plt img=cv2.imread('D:\\man.jpg',0) param=30 grayscale=256 w=img.shape[1] h=img.shape[0] newimg=np.zeros((h,w),np.uint8) for x in xrange(0,h): for y in xrange(0,w,2): r1=np.random.random_sample() r2=np.random.random_sample() z1=param*np.cos(2*np.pi*r2)*np.sqrt((-2)*np.log(r1)) z2=param*np.sin(2*np.pi*r2)*np.sqrt((-2)*np.log(r1)) fxy=int(img[x,y]+z1) fxy1=int(img[x,y+1]+z2) if fxy<0: fxy_val=0 eliffxy>grayscale-1: fxy_val=grayscale-1 else: fxy_val=fxy if fxy1<0: fxy1_val=0 elif fxy1>grayscale-1: fxy1_val=grayscale-1 else: fxy1_val=fxy1

图像运算 实验报告

实验报告 课程名称医学图像处理实验名称图像运算 专业班级 姓名 学号 实验日期 实验地点

2015—2016学年度第 2 学期

图4 skull原图像图5 cameraman原图像图6 两幅相加后的图像

图8 RGB原图图9 亮度增强50后的图像 图10 亮度增强100后的图像 分析:1)imadd是用于实现两图像灰度值相加的函数, 于我读取的skull imresize函数把skull 2)I和J进行相加后的图像如图

图12 背景图图13 减去背景图后的图像 开运算属于形态图像处理,是先腐蚀后膨胀,可以使边界平滑,消除尖刺,断开窄小的连接,保持面积大小不变;strel是用于构建结构元素对象, imopen(I,strel('disk',15))就是构建圆盘半径为的背景图,如图12所示; 函数是用于两幅图像的相减运算,如图所示,减去不均匀的部分后, 图14 skull原图图15 亮度增强后的图像图16 亮度减小后的图像 分析:1)乘法运算可以实现掩模操作,即屏蔽掉图像的某些部分 2)一幅图像乘以一个常数通常被称为缩放。immultiply(I,1.2),使用的缩放因数大于1,那么将增强图像的亮度,如图15所示;immultiply(I,0.5)中的因数小于1则会使 图像变暗,如图16所示。

图17 skull原图图18 对比度减小的图片图19 灰度级相除后的图片分析:1)J=double(I)*0.43+80是将skull图像转换为double型再对其进行灰度变换运算,使其灰度级减小,如图所示; 2)imdivide(I,J)要求J数据类型一致,因此在进行此运算时,须先将double型的转换为uint8,两幅图像的灰度级相除后的到的结果为[0,1],因为其灰度级极其相 近且小,肉眼无法分辨,故我们所看到的输出图像几近与纯黑色,如图19所示; 3)除法运算是用于校正成像设备的非线性影响。 图20 skull的原图像图21 尺寸放大的图像图22 尺寸减小的图像

软件工程综合应用例题(题)

综合应用例题 第一部分传统软件开发方法 1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的 围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。 请用等价类划分法设计测试用例。 2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。 int GetMax(int n, int datalist[ ]) { int k=0; for ( int j=1; j datalist[k] ) k=j; return k; } 画出该程序的程序流程图,并计算其McCabe复杂度。 3、有下列伪码程序: START INPUT (M,N) IF M>=10 THEN X:=10 ELSE X:=l ENDIF IF N>=20 THEN Y:=20 ELSE Y:=2 ENDIF PRINT(X,Y) STOP 设计该程序的语句覆盖和路径覆盖测试用例。 4、根据伪码程序画出程序流程图,盒图(N-S图)。 START a IF x1 THEN REPEAT UNTIL x2 b END REPEAT ELSE BLOCK c d END BLOCK

END IF STOP 5、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 6、画出下列伪码程序的程序流程图,盒图(N-S图)。 START IF p THEN WHILE q DO F END DO ELSE BLOCK g n END BLOCK END IF STOP 7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。 WHILE P DO IF A>O THEN A1 ELSE A2 ENDIF; IF B>0 THEN B1; IF C>0 THEN C1 ELSE C2 ENDIF ELSE B2 ENDIF; B3 ENDWHILE; 8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。 PROCEDURE EX(A,B:REAL;VAR X:REAL); BEGIN IF(A=3)OR(B>1)THEN X:=A×B IF(A>2)AND(B=0)THEN X:=A-3 END 9、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 如果是付款的,则由财务人员在帐目文件上登记,也给学生一收费收据。

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

图形图像处理实验

实验一计算图像的基本统计指标 实验目的: 1)熟悉Matlab图像处理工具箱的使用方法。 2)了解计算图像统计指标的方法及其在图像处理中的意义。 实验原理: 1)可将一幅图视为一个二维矩阵,因此Matlab处理图像十分方 便。 2)利用Matlab图像处理工具箱读、写和显示图像。 实验内容: 将图像反白。图像是RGB彩色图像football.jpg,采用rgb2gray 函数可以将彩色图像转换为黑白图像。b5E2RGbCAP I=imread('football.jpg'>。 subplot(131>。imshow(I>。 J=rgb2gray(I>。 subplot(132>。imshow(J>。 Ave=mean2(J>。 SD=std2(double(J>>。 s=size(J>。 all_white=255*ones(s(1>,s(2>>。 all_white_uint8=uint8(all_white>。 K=imsubtract(all_white_uint8,J>。 subplot(133>。imshow(K>。

imwrite(K,'football_inverse.jpg'>。 实验结果: 实验二图像的数字化 实验目的: 1)了解静止图像的数字化原理。 2)掌握常用数字化设备的使用。 实验原理: 通过将模拟图像数字化后,用计算机对图像进行灵活的处理。实验内容: 2.1 用Matlab程序说明实际数字图像量化特点。 clc。clear。 W=16。 I=imread('kids.tif'>。 s=size(I>。 J=I(s(1>/2-W/2:s(1>/2+W/2-1,s(2>/2-W/2:s(2>/2+W/2- 1>p1EanqFDPw imshow(J>。 K=I(2*W:s(1>-W,2*W:s(2>-5*W>。 figure,imshow(K>。

图形图像处理实验报告

第四次实验报告 实验课程:图像图像处理实验人:尹丽(200921020047) 实验时间:2012年4月19日实验地点:5-602 指导老师:夏倩老师成绩: 一、实验内容: ⑴图像的锐化:使用Sobel,Laplacian 算子分别对图像进行运算,观察并体会运算结果。 ⑵综合练习:对需要进行处理的图像分析,正确运用所学的知识,采用正确的步骤,对图像进行各类处理,以得到令人满意的图像效果。 二、实验目的: 学会用Matlab中的下列函数对输入图像按实验内容进行运算;感受各种不同的图像处理方法对最终图像效果的影响。(imfilter;fspecial;) 三、实验步骤:

1、仔细阅读Matlab 帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内容。 2、将Fig3.41(c).jpg 图像文件读入Matlab ,使用filter2函数分别采用不同的算子对其作锐化运算,显示运算前后的图像。 3、算子的输入可采用直接输入法。其中Sobel ,Laplacian ,也可用fspecial 函数产生。 4、各类算子如下: ???? ??????---121000121 ??????????-111181111 5、将Fig3.46(a).jpg 图像文件读入Matlab ,按照以下步骤对其进行处理: (1)用带对角线的Laplacian 对其处理,以增强边缘。 (2)用imadd 函数叠加原始图像。可以看出噪声增强了,应想法降低。 (3)获取Sobel 模板并用filter2对其进行5×5邻域平均,以减少噪声。 5(1)实验代码如图: 对角线Laplacian Sobel 垂直梯度

C语言综合应用实例

C语言综合应用实例 一、学生信息管理系统 #include/*I/O函数*/ #include/*其它说明*/ #include/*字符串函数*/ #defineBUFLEN100/*缓冲区最大字符数*/ #defineLEN15/*学号和姓名最大字符数,实际请更改*/ #defineN100/*最大学生人数,实际请更改*/ structrecord/*结构体*/ { charcode[LEN+1];/*学号*/ charname[LEN+1];/*姓名*/ intage;/*年龄*/ charsex[3];/*性别*/ chartime[LEN+1];/*出生年月*/ charadd[30];/*家庭地址*/ chartel[LEN+1];/*电话号码*/ charmail[30];/*电子邮件地址*/ }stu[N]; intk=1,n,m;/*定义全局变量*/ voidreadfile();/*函数声明*/ voidseek(); voidmodify(); voidinsert(); voiddel(); voiddisplay(); voidsave(); voidmenu(); intmain() { while(k) menu(); system("pause"); return0; } voidhelp() { printf("\n0.欢迎使用系统帮助!\n"); printf("\n1.进入系统后,先刷新学生信息,再查询;\n"); printf("\n2.按照菜单提示键入数字代号;\n");

实验四图形图像的技术

实验四图形图像技术 4.1 读图软件ACDSee(不作重点) (实验估计时间:30分钟) 4.1.1 背景知识 多媒体计算机可以通过彩色扫描仪等设备,把各种印刷图像及彩色照片数字化;通过视频卡把摄像机、录像机、激光视盘等彩色全电视信号数字化;计算机本身也可以通过计算机图形学的方法编程,生成二维、三维彩色几何图形及三维动画。数字化的图形、图像及视频等信息,都以文件形式存储。为了便于位图的存储、使用和交流,产生了种类繁多的图形文件格式,主要有GIF、TIF、TGA、BMP、PCX、JPG/PIC、PCD等。此外,还有一些专供排版和打印输出而设计的图像格式,如EPS和WMF等。不同格式的图像可通过统一的工具软件来转换。 1.GIF格式 GIF的全称是“图形交换文件格式”(Graphics Interchange Format),是由CompuServe 公司在1987年为了制定彩色图像传输协议而开发的压缩图像存储格式,支持黑白图像、16色和256色的彩色图像,其目的是便于在不同平台上进行图像的交流和传输。GIF格式的文件压缩比较高,文件长度较小,图像最大不超过64MB,颜色最多为256色(8位)。 2.TIF格式 TIF(又称TIFF)文件格式由Aldus和Microsoft合作开发,最初用于扫描仪和桌面出版业,是工业标准格式,支持所有图像类型。TIF格式的文件分成压缩和非压缩两大类,非压缩的TIFF文件独立于软、硬件,但压缩文件比较复杂。TIF格式的压缩方法有多种,而且是可扩充的,因此,要正确读出每一个压缩格式的TIFF文件是很困难的。由于非压缩的TIFF 文件具有良好的兼容性,而压缩存储时又有很大的选择余地,所以这种格式是许多图像应用软件(如CorelDraw,PageMaker,Photoshop,Fractal Design Painter,PhotoStyler等)所支持的主要文件格式之一,可用于在不同的软件和计算机之间进行图像数据的传输。 3.TGA格式 TGA文件格式是Truevision公司为Targa和Vista图像捕捉卡设计的TIPS软件所使用的文件格式。TGA图像文件格式结构比较简单,是由描述图像属性的文件头(Header)以及描述各点像素值的文件体(Body)组成。 4.PCX格式 PCX文件格式最初由Z-soft公司设计,随该公司著名的图形图像编辑软件PCPaintbrush 一起公布,故也称为Z-Soft PCX图像文件格式。PCX文件格式与特定的图形显示硬件密切相关,是PC机上广泛使用的图像文件格式之一。绝大多数图像编辑软件,如PhotoStyler,CorelDraw等均能处理这种格式。PCX支持黑白图像、16色和256色的伪彩色图像、灰度图像以及RGB真彩色图像。 5.BMP和DIB格式 DIB是Windows使用的与设备无关的点阵图文件存储格式,BMP则是标准的Windows 和OS/2图形图像的基本位图格式。Windows软件的图像资源多数以BMP或与其基本等价的DIB格式存储。多数图形图像软件,特别是在Windows环境下运行的软件,都支持这种文件格式。例如,Windows中的“画图”软件就支持单色、16色、256色和24位BMP格式,还支持JPEG(JPG、JPE、JFIF)、GIF、TIFF(TIF)和PNG等格式。BMP文件有压缩(RLE 方法)和非压缩之分,一般作为图像资源使用的BMP文件都是不压缩的。

实验一图形图像实验报告

《多媒体基础与课件创作》上机实验报告 实验名称:图形图像素材的制作编辑 【实验班级】:【学号】:【姓名】: 【实验目的】 通过实际操作,熟悉图形图像素材的采集和整理,及相关软件Photoshop、CorelDraw的基本使用方法。 【实验内容】 1、验证环节 (1)从网上下载一张风景图片和一张人物图片,利用Photoshop进行图片合成,将人物从原有背景中抠出来,与风景图片进行合成,然后输入文字,并存储为.jpg格式。可以参考下图: (2)利用Photoshop中的“渲染”、“扭曲”滤镜,制作如下图所示的水中花的效果。 (3)利用CorelDraw绘制如下图所示的图片效果

2、设计环节 (1)利用Photoshop中的滤镜、蒙板等工具,自行设计一张图文并茂的图像。 (2)利用CorelDraw的绘制工具、造型工具、交互式工具自行设计绘制下图所示的图案和文字。 【实验步骤】 1、图像合成 (1)在Photoshop中打开人物图像,使用魔术棒、自由套索、磁性套索工具等选择工具,将图像中的人物选取出来。 (2)在Photoshop中将风景图片打开,使用移动工具,将选取的人物移动到风景图片中,利用变形、羽化等工具调整效果。 (3使用文字工具添加文字说明。 (4保存文件,文件为jpg格式 2、Photoshop滤镜的使用 (1)新建一个文件,设置其背景色为白色,前景色为蓝色。 (2)执行多次“滤镜”—“渲染”—“云彩”菜单,然后执行“滤镜”—“扭曲”—“水波”,设置数量为100,起伏为6。 (3)打开花的图片文件,将花抠出来移动到做好的水波图片上。执行“编辑”—“自由变换”对其调整大小位置,使其放在水波中央。 (4)选择背景层,执行“图层”—“复制图层”对背景层进行复制,将其放在花图层之上,然后设置图层不透明度为40% (5)保存文件,文件为jpg格式 3、利用Coreldraw绘制花的图形 (1)新建一个图形文件,单击工具箱中的多边形工具,绘制一个八边形。 (2)单击工具箱中的“交互式变形工具”,在属性栏中单击“推拉变形”按钮,将鼠标指针移至多边形对象上,按住鼠标左键向左拖动,即可变形对象,如下图所示。 (3)在交互式变形工具属性栏中单击“中心变形’’,可设置变形效果为中心变形。 (4)在调色板中单击红色色块,对将变形后的对象填充为红色 (5)使用挑选工具选择填充后的对象,将鼠标指针移至四个角的任意一个控制点上,按住“shift’

图像分割 实验报告

实验报告 课程名称医学图像处理 实验名称图像分割 专业班级 姓名 学号 实验日期 实验地点 2015—2016学年度第 2 学期

050100150200250 图1 原图 3 阈值分割后的二值图像分析:手动阈值分割的阈值是取直方图中双峰的谷底的灰度值作为阈值,若有多个双峰谷底,则取第一个作为阈值。本题的阈值取

%例2 迭代阈值分割 f=imread('cameraman.tif'); %读入图像 subplot(1,2,1);imshow(f); %创建一个一行二列的窗口,在第一个窗口显示图像title('原始图像'); %标注标题 f=double(f); %转换位双精度 T=(min(f(:))+max(f(:)))/2; %设定初始阈值 done=false; %定义开关变量,用于控制循环次数 i=0; %迭代,初始值i=0 while~done %while ~done 是循环条件,~ 是“非”的意思,此 处done = 0; 说明是无限循环,循环体里面应该还 有循环退出条件,否则就循环到死了; r1=find(f<=T); %按前次结果对t进行二次分 r2=find(f>T); %按前次结果重新对t进行二次分 Tnew=(mean(f(r1))+mean(f(r2)))/2; %新阈值两个范围内像素平均值和的一半done=abs(Tnew-T)<1; %设定两次阈值的比较,当满足小于1时,停止循环, 1是自己指定的参数 T=Tnew; %把Tnw的值赋给T i=i+1; %执行循坏,每次都加1 end f(r1)=0; %把小于初始阈值的变成黑的 f(r2)=1; %把大于初始阈值的变成白的 subplot(1,2,2); %创建一个一行二列的窗口,在第二个窗口显示图像imshow(f); %显示图像 title('迭代阈值二值化图像'); %标注标题 图4原始图像图5迭代阈值二值化图像 分析:本题是迭代阈值二值化分割,步骤是:1.选定初始阈值,即原图大小取平均;2.用初阈值进行二值分割;3.目标灰度值平均背景都取平均;4.迭代生成阈值,直到两次阈值的灰 度变化不超过1,则稳定;5.输出迭代结果。

数组的综合应用例子

数组的综合应用例子 时间:2009-6-19 8:54:45 点击:1409 数组的综合应用 为了加深对数组的理解,下面结合一些常用算法的编程来更加深入地学习和使用数组。由于一维数组和二维数组是程序设计中最常用的数组形式,因此这里的举例均为一维和二维数组。 1.数组元素的输入和输出 [例5-12] 由用户输入5个数组元素的值并把它们输出在窗体上。 Option Explicit Private Sub Command1_Click() Dim a(1 To 5) As Integer, i As Integer For i=1 To 5 a(i)=InputBox("请输入第" & Str(i) & "个元素") Next For i=1 To 5 Print "a (";i; ")="; a(i) Next End Sub 程序运行后,单击命令按钮,执行事件过程Command1_Click。若输入5个值10,20,30,40,50,则窗体上显示的输出结果是: a(1)=10 a(2)=20 a(3)=30 a(4)=40 a(5)=50 程序中声明了一个具有5个元素的一维整型数组,分别用循环语句输入、输出数组元素的值。在循环体内,数组元素用循环控制变量i作下标,i值的不同就表示数组元素的不同。在程序中引用数组元素时,其下标可以使用表达式。只要表达式的结果不超出数组定义的上界和下界范围,下标表达式就是合法的。例如本例中,若i=2,则: a(i+1)的值为30; a(a(i+3)\10)的值为50。 下标表达式的值还可以是实数,此时VB将自动对其进行四舍五入取整。例如: a(1+0.4)的值是10; a(2+0.5)的值30。 2.数组元素插入删除

图像显示与处理实验报告

图像显示与处理实验报告 班级:信息123班 姓名:杨阳 学号: 201227073

图像显示与处理 一、实验目的 1、掌握BMP文件格式,熟悉各参数和图像数据的存放方式; 2、通过编程实现对图像内容的读取(到内存中); 3、完成图像的显示,掌握设备环境上下文(DC)的使用方式。 4、对图像进行二值化、求边缘、增强等简单处理。 二、实验仪器设备、工具及材料 设备:多媒体计算机。 软件:Visual Studio 6.0及以上版本。 材料:灰度图像,24位真彩色图像(均为非压缩BMP格式)等。 三、实验内容及步骤 1、BMP文件格式 BMP是Bitmap(位图)的简写,是Windows操作系统中的标准图像文件格式。Windows 3.0以前的BMP图文件格式与显示设备有关,称为设备相关位图DDB文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此称为设备无关位图DIB(device-independent bitmap)格式。 BMP文件由4部分组成:位图文件头(BITMAPFILEHEADER)、位图信息头(BITMAPINFOHEADER)、彩色表(RGBQUAD)和图像数据阵列。对应的数据结构定义如下(来自MSDN)。 typedef struct tagBITMAPFILEHEADER { WORD bfType; // file type, must be BM DWORD bfSize; // size (bytes) of the bitmap file WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; // offset (bytes) from this structure to the bitmap bits } BITMAPFILEHEADER; typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO, *PBITMAPINFO; typedef struct tagRGBQUAD { BYTE rgbBlue; BYTE rgbGreen; BYTE rgbRed; BYTE rgbReserved; } RGBQUAD; typedef struct tagBITMAPINFOHEADER { DWORD biSize; // bytes required by the structure LONG biWidth; LONG biHeight; WORD biPlanes; // number of planes, must be 1 WORD biBitCount; // number of bits-per-pixel DWORD biCompression; // BI_RGB: uncompressed DWORD biSizeImage; // size(bytes) of image, set to 0 for BI_RGB

综合应用案例—学生信息管理系统(C语言)

14.3综合应用案例—学生信息管理系统 作为学生,同学们最熟悉自己的相关信息了,如果能够设计一个学生信息管理系统,实现全班乃至全校学生信息的管理系统,是非常有实际意义的。同时,开发一个小型的信息管理系统,综合应用我们之前学习的基本语法知识和程序设计方法,将是一个提升和锻炼实践能力的好机会。 1. 主要功能 设计与开发一个学生信息管理系统,对学生的学号、姓名、性别、年龄等基本信息进行管理,实现基本的增、删、改、查等功能。 2. 功能模块设计 通过需求分析,按照结构化程序设计自顶向下,逐步细化的方法,以模块化设计为中心的原则,学生信息管理系统应该具有基本的文件管理、编辑、显示三个功能模块。 文件管理模块包括:加载文件、保存文件、拷贝到目标文件、退出系统; 编辑模块包括:输入记录、查找记录、修改记录、删除记录、插入记录、记录排序; 显示模块包括:显示全部记录、按序号显示记录。 系统的功能划分如图14.12所示: 学生基本信息管理系统 输入学生记录 浏览学生记录 按姓名查找按姓名删除 按学号修改插入学生记录 保存文件加载文件按序号浏览 按姓名排序 拷贝文件文件管理模块编辑模块显示模块 退出系统 图14.12 系统功能模块图 3. 数据结构设计 为了实现学生信息的管理,系统中采用的主要数据结构是结构体数组,为了方便系统功能扩展及编码方便,使用了#define 定义结构体数组上限,并使用typedef 定义结构体类型别名。 #define M 50 typedef struct { char no[20]; char name[20];

char sex[5]; int age; }STUDENTS; STUDENTS stu[M]; 4. 函数及调用关系 函数是模块化的主要手段,系统的各个主要功能都设计成函数,通过各个函数相互调用,并最终由主函数main调用组装成整个软件系统。学生信息管理系统由1个.h头文件和2个.c 源文件组成。程序中除了主函数外,共设计了以下15个函数,以下是这些函数的函数原型及功能设计。 (1)int menu_select(); 函数功能: 在屏幕上显示主菜单,接收用户选择并响应用户相应操作。 (2)int enter(STUDENTS t[]); 函数功能:输入学生记录条数,并循环输入学生基本信息。 (3)void list(STUDENTS t[],int n); 函数功能:按每页10条显示结构体数组中的学生信息。 (4)void search(STUDENTS t[],int n); 函数功能:按给定的姓名查找学生并显示该生信息。 (5)int del(STUDENTS t[],int n); 函数功能:按给定姓名从结构体数组中删除该生信息。 (6)int add(STUDENTS t[],int n); 函数功能:给定学生姓名,查找该生在结构体数组中的位置,从该位置开始后移,将一条新输入的学生信息插入在该位置。 (7)void save(STUDENTS t[],int n); 函数功能:将结构体数组中的学生信息以二进制方式写入到文件。 (8)int load(STUDENTS t[]); 函数功能:将保存的二进制文件加载到内存中的结构体数组。 (9)void display(STUDENTS t[],int n); 函数功能:按输入序号从结构体数组中定位并输出学生信息。 (10)void sort(STUDENTS t[],int n); 函数功能:采用冒泡排序算法,按姓名将结构体数组中的学生从小到大排序。 (11)void copy(); 函数功能:将保存的学生信息拷贝到指定的目标文件中一份。 (12)void print(STUDENTS temp); 函数功能:显示指定的一条学生记录。 (13)int find_name(STUDENTS t[],int n,char *s); 函数功能:在结构体数组中按给定姓名查找学生。 (14)int find_no(STUDENTS t[],int n,char *no); 函数功能: 在结构体数组中按给定学号查找学生。 (15)void modify(STUDENTS t[],int n); 函数功能:按照给定的学号在结构体数组中定位该生,重新输入数据对其进行修改,并显示修改前后的数据进行对比。 程序中总共16个函数之间的调用关系如图14.13所示:

图形创意设计的表现

图形创意设计的表现 图形可以理解为除摄影以外的一切图和型。图形以其独特的现象力,在版面构成中展示着独特的视觉魅力。图形是在平面构成要素中形成广告性格及提高视觉注意力的重要素材。图形能够下意识地左右广告的传播效果。图形占据了重要版面,有的甚至是全部版面。图形往往能引起人们的注意,并激发阅读兴趣,图形给人的视觉印象要优于文字,合理的运用图形符号。 1、图形设计语言 图形作为设计的语言,要注意把话说清楚。在处理中必须抓主主要特征,注意关键部位的细节。否则差之百,失之千里。比如苹果、西红柿、桔子等在体量差不多,但实际上却有很大不同,这就要在处理中住它们各自不同特征。 创意的图形表现是通过对创意的中心的深刻思考和系统分析,充分发挥想象思维和创造力,将想象、意念形象化、视觉化。这是创意的最后环节,也是关键的环节。从怎样分析、怎样思考到怎样表现的过程。由于人类特有的社会劳动和语言,使人的意识活动达到了高度发展的水平,人的思维是一个由认识表象开始,再将表象记录到大脑中形成概念,而后将这些来源于实际生活经验的概念普遍化加以固定,从而是外部世界乃至自身思维世界的各种对象和过程均在大脑中产生各自对应的映像。这些影响是由直接的外在关系中分离出来,独立于思维中保持并运作的。这些印象以狭义语言为基础,又表现为可视图形,肢体动作,音乐等广义语言。 “奇”、“异”、“怪”的图形并非是设计师追求的目标,通俗易懂、简洁明快的图形语言,才是达到强烈视觉冲击力的必要条件,以便于公众对广告主题的认识、理解与记忆。

在一定的艺术哲理与视觉原理中,创意通过上下几千年纵横万里想象与艺术创造。作为复杂而妙趣横生的思维活动的创意,在现在的图形创意、广告设计中,它是以视觉形象出现的,而且具有一定的创意形式。 2、平面图形设计与符号的本质联系 图形本身是视觉空间设计中的一种符号形象,是视觉传达过程中较直接、教准确的传达媒体,它在沟通人们与文化、信息方面起到了不可忽视的作用。在图形设计中,符号学的运用,影响着图形设计的表形性思维的表诉。也正是由于它的存在,使平面图形设计的信息传达更加科学准确,表现手法更加丰富多彩。 意大利著名符号学家艾柯提出:将符号定义为任何这样一种东西,它根据既定的社会习惯,可被看作代表其他东西的某种东西---- 一个记号X代表并不在的Y,成语“雁泥鸿爪”生动准确地表述了符号的概念,鸿雁在泥沼与雪地上留下的爪印,使人们得知曾有鸿雁经过这里的事实,并且可由此推断出鸿雁的大小多寡等信息。爪印,是记号X,而鸿雁是并不在的Y。符号学,正是研究符号规律的科学。 赛车场地中,设计者将转弯处的墙壁涂成黑黄相间条纹的图案,借以提醒车手集中注意力,警惕发生意外。这是因为每当人们看到黑黄相间的条纹时,都会不自觉的产生畏惧感和警惕性,这种感觉或不仅仅来自于图案色彩本身具有的视觉特性,可能也与黑黄色条纹使人们产生对虎或是蜜蜂等可能给人带来危险的动物的联想有关,人们对这样的图形的畏惧与警惕是人们共同生活经验中对老虎或蜜蜂的畏惧与警惕的延续;相同的绿色,却常会使人们产生心旷神怡的愉悦感,仿佛置身于茂密的丛林与清新的空气之中,而生命在自然的环境下也得以健康的生长。因此,绿色,被更多的运用于医药,环保等关于生命领域的设计课题中。

图形图像处理实验报告八

图形图像处理实验报告 实验八:几何变换(第五章)指导教师:张宝雷 姓名:刘爽专业:09信本二班学号:09040342021 一、图像的平移变换 MATLAB代码: clear all; A=imread('iep.jpg'); figure; subplot(121);imshow(A); A=double(A); A_move=zeros(size(A)); H=size(A); A_x=50; A_y=50; I_movesult(A_x+1:H(1),A_y+1:H(2),1:H(3))=I(1:H(1)-A_x,1:H(2)-A_y,1:H(3)); subplot(122);imshow(uint8(A_move)); 二、图像的裁剪 1、用imcrop函数对图像进行裁剪 MATLAB代码: I=imread('iep.jpg'); I1=imcrop(I,[80 60 50 50]); figure; subplot(121);imshow(I); subplot(122);imshow(I1);

2、使用剪切图像函数制作动画MATLAB代码: I=imread('iep.jpg') n=50; m=50; figure;imshow(I); for i=1:50 n=n-1; m=m+1; I1=imcrop(I,[n,n,m,m]); figure;imshow(I1); end

三、图像的比例缩放变换 1、用最近邻域法进行图像放大4倍和缩小1/2倍的操作。 MATLAB代码: I=imread('fish.jpg'); %I为原始图像 figure; subplot(131);imshow(I); %显示原始图像 I=double(I); I_en=imresize(I,4,'nearest'); %最近邻法标志函数nearest扩大4倍 subplot(132);imshow(uint8(I_en)); %显示扩大4倍后的图像 I_re=imresize(I,0.5,'nearest'); %缩小两倍 subplot(133);imshow(uint8(I_re));%显示缩小2倍后的图像 2、图像旋转 MATLAB代码: clear all; I=imread('mei.jpg'); %本书用的图片都在当前目录下,故不用写路径figure; subplot(121);imshow(I); I1=imrotate(I,30,'crop'); subplot(122);imshow(I1); 3、使用imrotate函数旋转图像,制作动画效果 MATLAB代码: I=imread('mei.jpg'); for i=1:25 I1=imrotate(I,15*i,'crop'); imshow(I1); end

相关主题
文本预览
相关文档 最新文档