实验一图形图像实验报告
- 格式:doc
- 大小:906.50 KB
- 文档页数:4
实验报告实验名称:三维分形算法姓名:陈怡东学号:09008406程序使用说明:程序打开后会呈现出3次分形后的四面体,因为考虑到观察效果的清晰所以就用了3次分形作为演示。
与用户的交互:1键盘交互:分别按下键盘上的数字键1,2,3,4可以分别改变四面体的4个面的颜色。
按下字母c(不区别大小写)可以改变视图函数,这里循环切换3种视图函数:glOrtho,glFrustum,gluPerspective,但是改变视图函数后要窗口形状变化后才能显现出来按下字母键q(不区别大小写)可以退出程序2鼠标交互:打开后在绘图的区域按下鼠标左键不放便可以拖动图形的视角,这里为了展现图形的3D效果因此固定了其中一点不放,这样就可以看到3D的效果。
鼠标右击则有弹出菜单显示,其中改变颜色则是同时改变4个面的颜色,本程序中运用了8组配色方案。
改变视图函数也是上述的3种函数,这里的效果立刻显现,但是还有很多问题达不到所要的效果,希望老师能帮忙解决一下。
设计思路:分形算法:把四面体细分成更小的四面体,先找出其6个棱的中点并连接起来,这样就在4个顶点处各有一个小的四面体,原来四面体中剩下的部分应当去掉。
仿效二维的生成方法,我们对保留的四个小四面体进行迭代细分。
这样细分结束后通过绘制4个三角形来绘制每一个剩下的四面体。
交互的实现:键盘交互,即通过对按键的响应写上响应函数实现对视图和颜色的改变。
鼠标交互:通过对鼠标左右按键的实现:该部分只做了必要的介绍,具体实现见代码(附注释)分形算法:void tetra(GLfloat *a,GLfloat *b,GLfloat *c,GLfloat *d)函数实现的是绘制四面体并且给四个面绘上不同的颜色。
以区别开来,函数的实现细节见代码,有注释介绍。
void triangle3(GLfloat *a,GLfloat *b,GLfloat *c)函数用来绘制每个平面细分后的三角形。
其中顶点设置为3维坐标glVertex3fv(a);void divide_tetra(GLfloat *a,GLfloat *b,GLfloat *c,GLfloat *d,int m)细分四面体的函数实现。
图像的绘制实验报告1. 引言本实验旨在探索图像绘制的基本原理和方法,通过使用图像处理库和编程语言绘制简单的图像,加深对图像处理的理解和应用。
2. 实验器材和方法2.1 实验器材- 计算机- 编程语言:Python- 图像处理库:Pillow2.2 实验方法1. 安装Python和Pillow库2. 导入Pillow库3. 创建一个新的图像文件4. 绘制基本的几何图形3. 实验结果3.1 创建图像文件首先,我们使用Pillow库创建一个新的图像文件,并指定图像的尺寸和背景颜色:pythonfrom PIL import Image创建一个新的图像文件image = Image.new("RGB", (500, 500), "white")3.2 绘制基本的几何图形接下来,我们可以使用Pillow库提供的绘图函数,在图像文件上绘制几何图形。
例如,我们可以绘制一个红色的正方形:pythonfrom PIL import ImageDraw创建一个ImageDraw对象draw = ImageDraw.Draw(image)绘制一个红色的正方形draw.rectangle([(100, 100), (400, 400)], fill="red")除了正方形,我们还可以绘制其他几何图形,如圆形、椭圆、直线等。
3.3 保存图像文件最后,我们将绘制好的图像文件保存到本地:python保存图像文件image.save("result.png")4. 结论通过本次实验,我们学习了使用Pillow库进行图像处理的基本方法。
我们可以使用Pillow库创建一个新的图像文件,并在图像文件上绘制各种基本的几何图形。
这些方法和技巧对于图像处理和计算机视觉的研究和应用具有重要的意义和价值。
5. 参考文献[1] Pillow官方文档. Pillow Documentation. [Online] Available:[2] Python官方文档. PIL / Pillow ImageGui. [Online] Available:。
数学实验与数学建模实验报告学院:专业班级:姓名:学号:完成时间:2014 年1 月6日实验一 图形的画法1. 做出下列函数的图像:(1))2sin()(22--=x x x x y ,22≤≤-x (分别用plot 、fplot ) (2)22/9/251x y +=(用参数方程)(3) 在同一图形窗口中,画出四幅不同图形(用subplot 命令):1cos()y x =,2sin(/2)y x pi =-,23cos()y x x pi =-,sin()4x y e =(]2,0[π∈x )2 作出极坐标方程为)cos 1(2t r -=的曲线的图形.3 作出极坐标方程为10/t e r =的对数螺线的图形.4 绘制螺旋线⎪⎩⎪⎨⎧===t z t y t x ,sin 4,cos 4在区间[0,π4]上的图形.在上实验中,显示坐标轴名称。
5 作出函数22y x xye z ---=的图形.6 作出椭球面1194222=++z y x 的图形.(该曲面的参数方程为,cos ,sin sin 3,cos sin 2u z v u y v u x === (ππ20,0≤≤≤≤v u ).)7 作双叶双曲面13.14.15.1222222-=-+z y x 的图形.(曲面的参数方程是,csc 3.1,sin cot 4.1,cos cot 5.1u z v u y v u x ===其中参数πππ<<-≤<v u ,20时对应双叶双曲面的一叶, 参数πππ<<-<≤-v u ,02时对应双叶双曲面的另一叶.)8 作出圆环v z u v y u v x sin 7,sin )cos 38(,cos )cos 38(=+=+=,(πππ22/,2/30≤≤≤≤v u )的图形.9 作出球面22222=++z y x 和柱面1)1(22=+-y x 相交的图形.10 作出锥面222z y x =+和柱面1)1(22=+-y x 相交的图形.11用动画演示由曲线],0[,sin π∈=z z y 绕z 轴旋转产生旋转曲面的过程. (该曲线绕z 轴旋转所得旋转曲面的方程为,sin 222z y x =+ 其参数方程为])2,0[],,0[(,,sin sin ,cos sin ππ∈∈===u z z z u z y u z x ) 12. 画出变上限函数⎰xdt t t 02sin 及其导函数的图形.13.迪卡尔曲线)03(13,1333222=-++=+=axy y x tat y t at x 14.蔓叶线)(1,1322322x a x y tat y t at x -=+=+= 15.摆线)cos 1(),sin (t b y t t a x -=-=16.内摆线(星形线))(sin ,cos 32323233a y x t a y t a x =+==17.圆的渐伸线(渐开线))cos (sin ),sin (cos t t t a y t t t a x -=+=18.空间螺线ct z t b y t a x ===,sin ,cos 19.阿基米德线0,≥=r a r ϕ。
计算机图形学实验报告
在计算机图形学课程中,实验是不可或缺的一部分。
通过实验,我们可以更好地理解课程中所学的知识,并且在实践中掌握这些
知识。
在本次实验中,我学习了如何使用OpenGL绘制三维图形,并了解了一些基本的图形变换和视图变换。
首先,我们需要通过OpenGL的基本命令来绘制基本图形,例
如线段、矩形、圆等。
这些基本的绘制命令需要首先设置OpenGL 的状态,例如绘制颜色、线段宽度等,才能正确地绘制出所需的
图形。
然后,在实验中我们学习了图形的变换。
变换是指通过一定的
规则将图形的形状、位置、大小等进行改变。
我们可以通过平移、旋转、缩放等变换来改变图形。
变换需要按照一定的顺序进行,
例如先进行旋转再进行平移等。
在OpenGL中,我们可以通过设
置变换矩阵来完成图形的变换。
变换矩阵包含了平移、旋转、缩
放等信息,通过矩阵乘法可以完成图形的复合变换。
最后,视图变换是指将三维场景中的图形投影到二维平面上,
成为我们所见到的图形。
在实验中,我们学习了透视投影和正交
投影两种方式。
透视投影是指将场景中的图形按照视点不同而产
生不同的远近缩放,使得图形呈现出三维感。
而正交投影则是简单地将场景中的图形按照平行投影的方式呈现在屏幕上。
在OpenGL中,我们可以通过设置视图矩阵和投影矩阵来完成视图变换。
通过本次实验,我对于计算机图形学有了更深入的了解,并掌握了一些基本的图形绘制和变换知识。
在今后的学习中,我将继续学习更高级的图形绘制技术,并应用于实际的项目中。
实验一图像信号频谱分析及滤波一:实验原理FFT不是一种新的变化,而是DFT的快速算法。
快速傅里叶变换能减少运算量的根本原因在于它不断地把长序列的离散傅里叶变换变为短序列的离散傅里叶变换,在利用的对称性和周期性使DFT运算中的有些项加以合并,达到减少运算工作量的效果。
为了消除或减弱噪声,提取有用信号,必须进行滤波,能实现滤波功能的系统成为滤波器。
按信号可分为模拟滤波器和数字滤波器两大类。
数字滤波器的关键是如何根据给定的技术指标来得到可以实现的系统函数。
从模拟到数字的转换方法很多,常用的有双线性变换法和冲击响应不变法,本实验主要采用双线性变换法。
双线性变换法是一种由s平面到z平面的映射过程,其变换式定义为:数字域频率与模拟频率之间的关系是非线性关系。
双线性变换的频率标度的非线性失真是可以通过预畸变的方法去补偿的。
变换公式有Ωp=2/T*tan(wp/2)Ωs=2/T*tan(ws/2)二:实验内容1.图像信号的采集和显示选择一副不同彩色图片,利用Windows下的画图工具,设置成200*200像素格式。
然后在Matlab软件平台下,利用相关函数读取数据和显示图像。
要求显示出原始灰度图像、加入噪声信号后的灰度图像、滤波后的灰度图像。
2.图像信号的频谱分析要求分析和画出原始灰度图像、加入噪声信号后灰度图像、滤波后灰度图像信号的频谱特性。
3.数字滤波器设计给出数字低通滤波器性能指标:通带截止频率fp=10000 Hz,阻带截止频率fs=15000 Hz,阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB,采样频率40000Hz。
三:实验程序clear allx=imread('D:\lan.jpg');%原始彩色图像的数据读取x1=rgb2gray(x);%彩色图像值转化为灰度图像值[M,N]=size(x1);%数据x1的长度,用来求矩阵的大小x2=im2double(x1);%unit8转化为double型x3=numel(x2);%计算x2长度figure(1);subplot(1,3,1);imshow(x2);title('原始灰度图')z1=reshape(x2,1,x3);%将二维数据转化成一维数据g=fft(z1);%对图像进行二维傅里叶变换mag=fftshift(abs(g));%fftshift是针对频域的,将FFT的DC分量移到频谱中心K=40000;Fs=40000;dt=1/Fs;n=0:K-1;f1=18000;z=0.1*sin(2*pi*f1*n*dt);x4=z1+z;%加入正弦噪声f=n*Fs/K;y=fft(x4,K);z2=reshape(x4,M,N);%将一维图转换为二维图subplot(1,3,2);imshow(z2);title('加入噪声后')g1=fft(x4);mag1=fftshift(abs(g1));%设计滤波器ws=0.75*pi;wp=0.5*pi;fs=10000;wp1=2*fs*tan(wp/2);ws1=2*fs*tan(ws/2);rs=50;rp=3;% [n,wn]=buttord(wp/pi,ws/pi,rp,rs);% [bz,az]=butter(n,wn);[n,wn]=buttord(wp1,ws1,rp,rs,'s');[z,p,k]=buttap(n);[b,a]=zp2tf(z,p,k);[B,A]=lp2lp(b,a,wn);[bz,az]=bilinear(B,A,fs);[h,w]=freqz(bz,az,128,fs);L=numel(z2);z3=reshape(z2,1,L);x6=filter(bz,az,double(z3));x7=reshape(x6,M,N);subplot(1,3,3);imshow(x7);g2=fft(x6);mag2=fftshift(abs(g2));title('滤波后')%建立频谱图figure(2);subplot(1,3,1);plot(mag);title('原始Magnitude')subplot(1,3,2);plot(mag1);title('加噪声Magnitude')subplot(1,3,3);plot(mag2);title('滤波后Magnitude')figure(3);subplot(1,2,1)plot(w,abs(h));xlabel('f');ylabel('h');title('滤波器幅谱');subplot(1,2,2);plot(w,angle(h));title('滤波器相谱');四:实验结果与分析图一图二分析:由图二可以知道加入噪声后的幅值谱和原始图的幅值谱明显多了两条幅值线,而这两条幅值线就是我们对原始灰度图加入的正弦噪声,而相应的图一中的加噪声后的图与原始图相比,出现了明显的变化。
计算机图形学实验报告
实验目的:通过本次实验,深入了解并掌握计算机图形学的基本原理和相关技术,培养对图形处理的理解和能力。
实验内容:
1. 图像的基本属性
- 图像的本质及表示方法
- 像素和分辨率的概念
- 灰度图像和彩色图像的区别
2. 图像的处理技术
- 图像的采集和处理
- 图像的变换和增强
- 图像的压缩和存储
3. 计算机图形学的应用
- 图像处理在生活中的应用
- 计算机辅助设计中的图形学应用
- 三维建模和渲染技术
实验步骤和结果:
1. 在计算机图形学实验平台上加载一张测试图像,分析其像素构成
和基本属性。
2. 运用图像处理技术,对测试图像进行模糊、锐化、色彩调整等操作,观察处理后的效果并记录。
3. 学习并掌握计算机图形学中常用的处理算法,如卷积、滤波等,
尝试应用到测试图像上并进行实验验证。
4. 探讨计算机图形学在数字媒体制作、虚拟现实、计算机辅助设计
等领域的应用案例,并总结其在实践中的重要性和价值。
结论:
通过本次实验,我对计算机图形学有了更深入的了解,掌握了图像
处理技术的基本原理和应用方法。
计算机图形学作为一门重要的学科,对多个领域有着广泛的应用前景,有助于提高数字媒体技术、虚拟现
实技术等领域的发展水平。
希望在未来的学习和工作中能进一步深化
对计算机图形学理论和实践的研究,不断提升自己在这一领域的专业
能力和创新意识。
图形学实验报告图形学实验报告概述:在本次图形学实验中,我们将探索和学习计算机图形学的基本概念和技术。
通过实验,我们深入了解了图形学的原理和应用,以及如何使用计算机生成和处理图像。
实验一:像素和颜色在这个实验中,我们学习了图像是由像素组成的,每个像素都有自己的颜色值。
我们使用了Python编程语言和PIL库来创建一个简单的图像,并设置了不同的像素颜色。
通过改变像素的颜色值,我们可以创建出各种各样的图像效果。
实验二:坐标系统和变换在这个实验中,我们学习了坐标系统和图形变换。
我们使用OpenGL库来创建一个简单的二维图形,并通过平移、旋转和缩放等变换操作来改变图形的位置和形状。
这些变换操作使我们能够在屏幕上创建出各种不同的图案和效果。
实验三:线段和多边形在这个实验中,我们学习了如何使用线段和多边形来绘制图形。
我们使用了Bresenham算法来绘制直线,并学习了如何使用多边形填充算法来填充图形。
通过这些技术,我们可以创建出更加复杂和精细的图像。
实验四:光照和阴影在这个实验中,我们学习了光照和阴影的原理和应用。
我们使用了光照模型来模拟光线的传播和反射,以及计算物体的明暗效果。
通过调整光照参数和材质属性,我们可以创建出逼真的光照和阴影效果。
实验五:纹理映射和渲染在这个实验中,我们学习了纹理映射和渲染的概念和技术。
我们使用了纹理映射来将图像贴到三维物体表面,以增加物体的细节和真实感。
通过渲染技术,我们可以模拟光线的折射和反射,以及创建出逼真的材质效果。
实验六:三维建模和动画在这个实验中,我们学习了三维建模和动画的基本原理和方法。
我们使用了三维建模工具来创建三维模型,并学习了如何使用关键帧动画来实现物体的运动和变形。
通过这些技术,我们可以创建出逼真的三维场景和动画效果。
总结:通过这次图形学实验,我们深入了解了计算机图形学的原理和应用。
我们学习了像素和颜色、坐标系统和变换、线段和多边形、光照和阴影、纹理映射和渲染,以及三维建模和动画等技术。
关于图形图像处理实训报告总结【九篇】实训报告总结:图形图像处理实训图形图像处理实训是计算机科学与技术专业的基础课程之一。
通过本次实训课程,我深入了解了图形图像处理的基本概念、方法和技术,并通过实际操作来提升了自己的实践能力。
下面是对本次实训的九篇报告总结:1. 实验一:图像读取与显示本次实验主要是学习如何读取和显示图像,以及使用Matplotlib库进行图像展示。
通过实验,我掌握了图像读取和显示的基本方法,并学会了基本的图像处理操作。
2. 实验二:图像的灰度变换实验二主要是学习图像的灰度变换,包括线性变换和非线性变换。
我学会了如何使用不同的灰度变换函数来调整图像的亮度和对比度,进一步提升图像的质量。
3. 实验三:图像的空间域滤波本次实验主要是学习图像的空间域滤波技术,包括均值滤波、中值滤波和高斯滤波等。
通过实验,我掌握了不同滤波方法的原理和实现方式,并学会了如何选择合适的滤波方法来降噪和模糊图像。
4. 实验四:图像的频域滤波实验四主要是学习图像的频域滤波技术,包括傅里叶变换和频域滤波等。
通过实验,我了解了傅里叶变换的原理和应用,并学会了如何使用频域滤波来实现图像的锐化和平滑。
5. 实验五:图像的形态学处理本次实验主要是学习图像的形态学处理技术,包括腐蚀、膨胀、开运算和闭运算等。
通过实验,我学会了如何使用形态学操作来改变图像的形状和结构,进一步改善图像的质量。
6. 实验六:图像的边缘检测实验六主要是学习图像的边缘检测技术,包括Sobel算子、Laplacian算子和Canny算子等。
通过实验,我了解了不同边缘检测方法的原理和应用,并学会了如何使用边缘检测来提取图像的轮廓和特征。
7. 实验七:图像的分割与聚类本次实验主要是学习图像的分割与聚类技术,包括阈值分割、区域生长和K均值聚类等。
通过实验,我掌握了不同分割与聚类方法的原理和应用,并学会了如何使用分割与聚类来识别和分析图像中的目标和区域。
8. 实验八:图像的特征提取与描述子实验八主要是学习图像的特征提取和描述子技术,包括尺度不变特征变换(SIFT)和方向梯度直方图(HOG)等。
《多媒体基础与课件创作》上机实验报告
实验名称:图形图像素材的制作编辑
【实验班级】:【学号】:【姓名】:
【实验目的】
通过实际操作,熟悉图形图像素材的采集和整理,及相关软件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’
键的同时拖动控制点等比例缩小对象,至适当位置后单击鼠标右键可复制对象,再将其填充为黄色。
(6)使用选择工具框选红色对象与黄色对象,在调色板中用右键单击无色图标,将所选对象的轮廓线去除。
(7)单击工具箱中的“交互式调和工具”按钮,在黄色对象上按住鼠标左键拖动至红色对象上,创建两个对象之间的调和效果,在属性栏中的步数输入框中输入数值30可创建花朵效果。
(8)使用挑选工具框选中对象按下“ctrl+G”键将它们群组为一个整体。
(9)单击工具箱中的“贝塞尔工具”按钮,在绘图区中绘制一条曲线,将轮廓颜色设置为绿色,宽度设置为5mm。
(10)按小键盘上的“十”键,可在原位置复制曲线,设置复制曲线的宽度为细线,颜色为淡绿色。
(11)单击工具箱中的“交互式调和工具”按钮,在两个线条之间拖动鼠标创建调和效果。
(12)将调和后的线条图形移至花朵对象的下面,单击工具箱中的“椭圆工具”按钮,在绘图区中绘制椭圆,然后将其转换为曲线,并使用形状工具调整椭圆对象的形状为树叶形状。
(13)在调色板中单击绿色色块,将其填充为绿色,去除其轮廓线,单击工具箱中的“交互式透明工具”按钮,将鼠标指针移至绿色图形上,从下向上拖动鼠标创建透明效果。
(14)单击工具相中的“交互式变形工具”按钮,并在属性栏中单击“拉链变形”按钮,在透明效果的对象上拖动鼠标创建“平滑”“拉链变形”。
(15)将变形后的对象旋转做为树叶移至适当位置,再将该对象复制一份,放大并旋转至适当位置,此时花朵绘制完成。
【实验结果】
将实验内容中自己设计绘制的最后图形图像效果抓屏粘贴到此处,并将红色文字删掉。
【遗留问题】
【实验评定】
【指导教师】
李敏
【实验报告完成日期】:2013.3.19。