实验四 图像裁剪

合集下载

数字图像处理实验报告——图像分割实验

数字图像处理实验报告——图像分割实验

实验报告课程名称数字图像处理导论专业班级_______________姓名 _______________学号_______________电气与信息学院与谐勤奋求就是创新一.实验目得1.理解图像分割得基本概念;2.理解图像边缘提取得基本概念;3.掌握进行边缘提取得基本方法;4.掌握用阈值法进行图像分割得基本方法.二。

实验内容1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明。

3.任选一种阈值法进行图像分割、图1 图2三.实验具体实现1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;I=imread(’mri、tif');imshow(I)BW1=edge(I,’roberts’);figure ,imshow(BW1),title(’用Roberts算子’)BW2=edge(I,’sobel’);figure,imshow(BW2),title(’用Sobel算子 ')BW3=edge(I,’log’);figure,imshow(BW3),title(’用拉普拉斯高斯算子’)比较提取边缘得效果可以瞧出,sober算子就是一种微分算子,对边缘得定位较精确,但就是会漏去一些边缘细节.而Laplacian—Gaussian算子就是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘得细节比较丰富。

通过比较可以瞧出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。

2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明.i=imread('m83、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图');thread=130/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’);3.任选一种阈值法进行图像分割、i=imread('trees、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图’);thread=100/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’)1、分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

图像分割处理实验报告

图像分割处理实验报告

图像分割处理实验报告1. 引言图像分割是计算机视觉中的重要任务之一,其目标是将图像划分成具有相似特征的子区域。

图像分割在很多应用领域中都有着广泛的应用,比如医学影像分析、目标检测和图像编辑等。

本实验旨在探索不同的图像分割算法,并比较它们在不同场景下的效果和性能。

2. 实验方法2.1 实验数据本实验选取了一组包含不同场景的图像作为实验数据集,包括自然景观、人物肖像和城市街景等。

每张图像的分辨率为500x500像素。

2.2 实验算法本实验使用了两种经典的图像分割算法进行比较,分别是基于阈值的分割和基于边缘的分割。

2.2.1 基于阈值的分割基于阈值的分割算法是一种简单而直观的方法,其原理是根据像素值的亮度信息将图像分割成不同的区域。

在本实验中,我们将图像的灰度值与一个事先设定的阈值进行比较,如果大于阈值则设为白色,否则设为黑色,从而得到分割后的图像。

2.2.2 基于边缘的分割基于边缘的分割算法利用图像中的边缘信息进行分割,其原理是检测图像中的边缘并将其作为分割的依据。

在本实验中,我们使用了Canny边缘检测算法来提取图像中的边缘信息,然后根据边缘的位置进行分割。

2.3 实验流程本实验的流程如下:1. 加载图像数据集;2. 对每张图像分别应用基于阈值的分割算法和基于边缘的分割算法;3. 计算分割结果和原始图像之间的相似度,使用结构相似性指标(SSIM)进行评估;4. 分析并比较两种算法在不同场景下的分割效果和性能。

3. 实验结果3.1 分割效果实验结果表明,基于阈值的分割算法在处理简单场景的图像时效果较好,可以比较准确地将图像分割为目标区域和背景。

然而,当图像的复杂度增加时,基于阈值的分割算法的效果明显下降,往往会产生较多的误分割。

相比之下,基于边缘的分割算法在处理复杂场景的图像时表现良好。

通过提取图像的边缘信息,该算法能够较准确地分割出图像中的目标区域,相比于基于阈值的分割算法,其产生的误分割较少。

3.2 性能评估通过计算分割结果和原始图像之间的SSIM指标,我们可以得到两种算法在不同场景下的性能评估。

图像分割 实验报告

图像分割 实验报告

图像分割实验报告图像分割实验报告一、引言图像分割是计算机视觉领域中的一个重要研究方向,它旨在将一幅图像分割成具有语义意义的不同区域。

图像分割在许多应用中发挥着关键作用,如目标检测、场景理解和医学图像处理等。

本实验旨在探索不同的图像分割方法,并对其进行比较和评估。

二、实验方法本实验选择了两种常用的图像分割方法:基于阈值的分割和基于边缘的分割。

首先,我们使用Python编程语言和OpenCV库加载图像,并对图像进行预处理,如灰度化和平滑处理。

接下来,我们将详细介绍这两种分割方法的实现步骤。

1. 基于阈值的分割基于阈值的分割是一种简单而常用的分割方法。

它通过将图像像素的灰度值与预先设定的阈值进行比较,将像素分为前景和背景两类。

具体步骤如下:(1)将彩色图像转换为灰度图像。

(2)选择一个适当的阈值,将图像中的像素分为两类。

(3)根据阈值将图像分割,并得到分割结果。

2. 基于边缘的分割基于边缘的分割方法是通过检测图像中的边缘来实现分割的。

边缘是图像中灰度变化剧烈的区域,通常表示物体的边界。

具体步骤如下:(1)将彩色图像转换为灰度图像。

(2)使用边缘检测算法(如Canny算法)检测图像中的边缘。

(3)根据边缘信息将图像分割,并得到分割结果。

三、实验结果与讨论我们选择了一张包含多个物体的彩色图像进行实验。

首先,我们使用基于阈值的分割方法对图像进行分割,选择了适当的阈值进行实验。

实验结果显示,基于阈值的分割方法能够将图像中的物体与背景分离,并得到较好的分割效果。

接下来,我们使用基于边缘的分割方法对同一张图像进行分割。

实验结果显示,基于边缘的分割方法能够准确地检测出图像中的边缘,并将图像分割成多个具有边界的区域。

与基于阈值的分割方法相比,基于边缘的分割方法能够更好地捕捉到物体的形状和边界信息。

通过对比两种分割方法的实验结果,我们发现基于边缘的分割方法相对于基于阈值的分割方法具有更好的效果。

基于边缘的分割方法能够提供更准确的物体边界信息,但也更加复杂和耗时。

图像分割 实验报告

图像分割 实验报告

图像分割实验报告《图像分割实验报告》摘要:图像分割是计算机视觉领域的重要研究方向,它在许多领域都有着重要的应用价值。

本实验旨在探究图像分割算法在不同场景下的表现,并对比不同算法的优缺点,为图像分割技术的进一步发展提供参考。

一、实验背景图像分割是指将图像划分成若干个具有独立语义的区域的过程。

图像分割技术在医学影像分析、自动驾驶、图像识别等领域都有着广泛的应用。

因此,对图像分割算法的研究和优化具有重要意义。

二、实验目的本实验旨在通过对比不同图像分割算法在不同场景下的表现,探究其优劣,并为图像分割技术的进一步发展提供参考。

三、实验内容1. 数据准备:收集不同场景下的图像数据,包括自然景观、医学影像、交通场景等。

2. 算法选择:选择常用的图像分割算法,如基于阈值的分割、边缘检测、区域生长等。

3. 实验设计:将不同算法应用于不同场景的图像数据上,对比它们的分割效果和计算速度。

4. 结果分析:对比不同算法的优缺点,并分析其适用场景和改进空间。

四、实验结果通过实验我们发现,在自然景观图像中,基于阈值的分割算法表现较好,能够有效地将图像分割成不同的颜色区域;而在医学影像中,边缘检测算法表现更为出色,能够准确地识别出器官的边缘;在交通场景中,区域生长算法表现较好,能够有效地区分不同的交通标志和车辆。

五、结论不同的图像分割算法在不同场景下有着不同的表现,没有一种算法能够适用于所有场景。

因此,我们需要根据具体的应用场景选择合适的图像分割算法,或者结合多种算法进行优化,以达到更好的分割效果。

六、展望未来,我们将继续探究图像分割算法的优化和改进,以适应不同场景下的需求。

同时,我们还将研究图像分割算法在深度学习和人工智能领域的应用,为图像分割技术的发展贡献力量。

通过本次实验,我们对图像分割算法有了更深入的了解,也为其在实际应用中的选择提供了一定的指导。

希望我们的研究能够为图像分割技术的发展做出一定的贡献。

图像分割实验报告

图像分割实验报告

图像分割实验报告医学图像处理实验报告实验名称:图像分割设计实验姓名:gaojunqiang学号:20105405班级:生医 1001指导教师:……2013年6月5日一、实验目的1、编程实现下列功能:读出存储的黑白灰度图象并显示,用拉普拉斯算子对图象进行边缘检测,显示处理后图象,存储处理后图象。

2、编程实现下列功能:读出存储的黑白灰度图象并显示,用鼠标点击图象上某一点,以灰度相近原则进行区域生长,显示处理后图象,存储处理后图象。

二、实验原理1、拉普拉斯边缘检测二维函数f(x,y)的拉普拉斯是一个二阶的微分定义为:,2f = [,2f / ,x2 ,,2f / ,y2]一般情况下可以用一个拉普拉斯模板算子。

模板算子分为4邻域和8邻域,如下,2f = 4z5 – (z2 + z4 + z6 + z8)0 1 01 -4 10 1 04邻域模板算子,2f = 8z5 – (z1 + z2 + z3 + z4+z5 + z6 + z7+ z8)1 1 11 -8 11 1 18邻域模板算子2、区域增长区域增长是通过一个起始点作为种子点对他周围的点进行选择。

它采取的是一种迭代的思想。

区域增长也分为四邻域和八邻域两种方式。

通过像素的集合进行区域增长的算法如下:1)根据图像的不同应用选择一个或一组种子,它或者是最亮或最暗的点,或者是位于点簇中心的点。

2)选择一个描述符(条件)3)从该种子开始向外扩张,首先把种子像素加入集合,然后不断将与集合中各个像素连通、且满足描述符的像素加入集合4)上一过程进行到不再有满足条件的新结点加入集合为止。

三、实验代码及结果1、拉普拉斯边缘检测代码如下:%主函数如下:clc;closeall;clearall;Imag = imread('lena.tiff');ImagGray = rgb2gray(Imag); %将彩色图片转换成灰度图片 figure()imshow(ImagGray),title('灰度图像');% T = graythresh(ImagGray); %用大津法自动确定阈值 %I=edge(ImagGray,'log',0.004);% figure(),imshow(I), title('laplace边缘图像'); ImagGray =double(ImagGray); T = 60; %设置阈值LapModType = 8; %设置laplace模板方式ImagLapEdge = LaplaceEdge(ImagGray,LapModType,T); %laplace边缘检测ImagLapEdge = uint8(ImagLapEdge);figure()imshow(ImagLapEdge),title('laplace边缘图像');%拉普拉斯边缘检测函数如下:functionImagLapEdge = LaplaceEdge(ImagGray,MoldType,Thresh)%-----------------参数介绍-------------------- %输入参数:% ImagGray: 输入的灰度图像% MoldType: 摸板类型,包括四邻域和八邻域 % Thresh: 边缘检测阈值%输出参数:% ImagEdge: 边缘像素点,存储的是二值化图像[r,c] = size(ImagGray); ImagLapEdge = zeros(r,c);%四邻域拉普拉斯边缘检测算子if 4 == MoldTypefori = 2:r-1for j = 2:c-1Temp =-4*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1);if Temp > ThreshImagLapEdge(i,j) = 255; elseImagLapEdge(i,j) = 0; endendendend%八邻域拉普拉斯边缘检测算子if 8 == MoldTypefori = 2:r-1for j = 2:c-1Temp =-8*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1)+ImagGray(i-1,j-1)+ImagGray(i+1,j+1)+ImagGray(i+1,j-1)+ImagGray(i-1,j+1);if Temp > ThreshImagLapEdge(i,j) = 255; elseImagLapEdge(i,j) = 0;endendendend拉普拉斯边缘检测实验结果如下:图1 原灰度图像2、区域增长实验代码:主函数如下:clc;closeall;clearall;Imag = imread('lena.jpg');figure()imshow(Imag), title('原灰度图片');n = 4; %设置区域增长的种子点数 [x,y] = ginput(n); %在图像上取点 V = [y,x];V = uint16(V);thresh = 33; %区域增长的阈值growingtype = 8; %增长方式[regionGet,imout,regionsize]=regiongrowing(V,Imag,thresh,growingtype ); %区域增长函数figure()imshow(imout), title('区域分割后的图片'); holdonplot(x,y,'+');由于区域增长代码老师已给这里就不在写出。

GIS制图实验四裁剪图步骤(精)

GIS制图实验四裁剪图步骤(精)

佛山科学技术学院上机实验报告课程名称GIS地图制图实验项目视图中的文字 ________ 专业班级07地信姓名________________ 学号 ______________ 指导老师______________ 成绩____________ 日期 _______________上机实验(四)视图中的文字上机实验要求:1、掌握视图中的文字选择与设置2、熟悉标准图件中文字的格式与应用具体实验内容:1、文字样式和标注地图要素一文本定位原则2、ArcView中设置文字具体操作内容(ERDAS):以佛山市的TM遥感影像数据为例,对数据进行拼接,裁剪出佛山区级范围的影像数据,对自己感选取的区域分别进行监督分类与非监督分类处理,完成两幅佛山某区土地分类图的制作。

谈谈遥感数据制图过程体会。

投影匹配方U3 &1打开一知道遥感图像的投影参数,根据它修改一下裁剪矢量图像的投影参数。

可修改设置为WGS 1984 UTM Zone 49N.prj。

步骤参考:在ArcCatalog中右击文件country.shp,选择下拉菜单中的Properties,选择第2个视窗,点击select,选择投影参数Projected Coordinate Systems ------ UTM ------- W GS 1984 ------ WGS 1984UTM Zone 49N.prj。

2裁剪图像步骤参考:在ArcMap中点击涕ArcToolBoxs工具,双击选择空间分析模块,在弹出的对话框中设置如下:结果图如下:由于刚刚生成的图像是由裁剪6个波段(即6个图层)的img图所得到的,所以按照栅格的存放方式将生成6个波段文件夹和1个头文件文件夹,没有生成img 格式的图像,需要在ERDAS里通过图层合成一个文件,即Layer Stack工具。

参考步骤:在ERDAS主菜单上点击图像解译模块应叩皿『,在下拉菜单中选择UtilitiesLayer Stack,在弹出的对话框中设置如下:点击OK,开始运行。

图像分割处理实验报告

图像分割处理实验报告

一、实验目的:1.学会对图像进行二值化处理和直方图均衡化处理2.进一步了解数字图像处理的知识以及matlab软件的使用3.掌握基本的查资料方法二、实验内容把这幅图像分成同样大小的10幅人脸图片然后分别对第一行5幅人脸图像的第3 第4 第5 第二行5幅人脸图像的第1 第5 进行如下处理:1.进行大津法阈值分割的二值化处理2.进行直方图均衡化处理三、实验具体代码以及结果1.实验代码%clcclearsrc_path='D:\histogram matching.bmp'; %原始图片路径dst_path='D:\picture\'; %分割图片后保存路径mkdir(dst_path);A = imread(src_path); %读入原始图片[m,n,l] = size(A); %获得尺寸for i = 1:2for j = 1:5m_start=1+(i-1)*fix(m/2);m_end=i*fix(m/2);n_start=1+(j-1)*fix(n/5);n_end=j*fix(n/5);AA=A(m_start:m_end,n_start:n_end,:); %将每块读入矩阵imwrite(AA,[dst_path num2str(i) '-' num2str(j) '.jpg'],'jpg'); %保存每块图片endendcd 'D:\pic'x1=imread('1-3.jpg');%%%%%%%%%目标读取图像x2=imread('1-4.jpg');x3=imread('1-5.jpg');x4=imread('2-1.jpg');x5=imread('2-5.jpg');% matlab 自带的自动确定阈值的方法level1=graythresh(x1);level2=graythresh(x2);level3=graythresh(x3);level4=graythresh(x4);level5=graythresh(x5);%用得到的阈值直接对图像进行二值化处理并显示BW1=im2bw(x1,level1);BW2=im2bw(x2,level2);BW3=im2bw(x3,level3);BW4=im2bw(x4,level4);BW5=im2bw(x5,level5);figure(1),imshow(BW1);figure(2),imshow(BW2);figure(3),imshow(BW3);figure(4),imshow(BW4);figure(5),imshow(BW5);%直方图均衡化处理%%%%%%%%%%调用直方图均衡化函数 histeq()%%%%%均衡化处理后的灰度级直方图分布figure(6),imhist(histeq(rgb2gray(x1))); figure(7),imhist(histeq(rgb2gray(x2))); figure(8),imhist(histeq(rgb2gray(x3))); figure(9),imhist(histeq(rgb2gray(x4))); figure(10),imhist(histeq(rgb2gray(x5)));%%%均衡化处理后的图像%%%%%%figure(11),imshow(histeq(rgb2gray(x1))); figure(12),imshow(histeq(rgb2gray(x2))); figure(13),imshow(histeq(rgb2gray(x3))); figure(14),imshow(histeq(rgb2gray(x4))); figure(15),imshow(histeq(rgb2gray(x5)));。

ps实验报告 图像编辑(二)

ps实验报告 图像编辑(二)
注意:锐化工具用的时候要小心,锐化的原理是提高像素的对比度而看上去清晰,用的时候一般用在事物的边缘,但不可以过度锐化。
(2)涂抹:涂抹工具,可以将颜色抹开,好像是一幅图像的颜料未干而用手去抹使颜色走位一样,一般用在颜色与颜色之间边界生硬或颜色与颜色之间缄接不好可以使用这个工具,将过渡过颜色柔和化,有时也会用在修复图像的ห้องสมุดไป่ตู้作中。涂抹的大小可以在右边画笔处选择一个合适的笔头。
实验总结(实验中遇到的问题及对策)
操作不太灵活,需要进一步练习才能熟练掌握
教师评语
日期:年月日
(5)海棉工具:可以精确的改变图像局部的色彩饱和度。不会造成像素的重新分布,因此其降低饱和度和饱和方式可以作为互补来使用,过度降低饱和度后,可以切换到饱和方式增加色彩饱和度。但无法为已经完全为灰度的像素增加上色彩。海绵工具不会造成像素的重新分布,因此其去色和加色方式可以作为互补来使用,过度去除色彩饱和度后,可以切换到加色方式增加色彩饱和度。但无法为已经完全为灰度的像素增加上色彩。
平面设计(PhotoShop)实验报告
学号姓名日期
专业班级
实验名称
实验四图像编辑(二)
实验
目的
图像编辑工具的使用。图像编辑工具包括:锐化、涂抹、
减淡、加深、海绵工具。
实验
内容
实验步骤:
(1)锐化:用来增加像素间的对比度,使越来越清晰。锐化值高,边缘相对会清晰.将画面中模糊的部分变得清晰锐化工具在使用中不带有类似喷枪的可持续作用性,在一个地方停留并不会加大锐化程度。不过一般锐化程度不能太大.会失去良好的效果.
(3)减淡:将图像亮度增强,颜色减淡。减淡用具用来增强画面的明亮程度,在画面曝光不足的情况下使用非常有效。减淡用具通常和色阶工具有类似的效果。

实验4 编码裁剪算法

实验4 编码裁剪算法

实验4 编码裁剪算法1.实验目的了解二维图形裁剪的原理(点的裁剪、直线的裁剪、多边形的裁剪),利用VC+OpenGL实现直线的裁剪算法。

2.实验内容(1)理解直线裁剪的原理(Cohen-Surtherland算法、梁友栋算法)(2)利用VC+OpenGL实现直线的编码裁剪算法,在屏幕上用一个封闭矩形裁剪任意一条直线。

(3)调试、编译、修改程序。

(4)尝试实现梁友栋裁剪算法。

实验原理编码裁剪算法中,为了快速判断一条直线段与矩形窗口的位置关系,采用了如图所示的空间划分和编码方案。

裁剪一条线段时,先求出两端点所在的区号code1和code2,若code1 = 0且code2 = 0,则说明线段的两个端点均在窗口内,那么整条线段必在窗口内,应取之;若code1和code2经按位与运算的结果不为0,则说明两个端点同在窗口的上方、下方、左方或右方。

这种情况下,对线段的处理是弃之。

如果上述两种条件都不成立,则按第三种情况处理。

求出线段与窗口某边的交点,在交点处把线段一分为二,其中必有一段完全在窗口外,可弃之,对另一段则重复上述处理。

实验代码#include<GL/glut.h>#include<stdio.h>#include<stdlib.h>#define LEFT_EDGE 1#define RIGHT_EDGE 2#define BOTTOM_EDGE 4#define TOP_EDGE 8void LineGL(int x0,int y0,int x1,int y1){glBegin(GL_LINES);glColor3f(1.0f,0.0f,0.0f);glVertex2f(x0,y0);glColor3f(0.0f,1.0f,0.0f);glVertex2f(x1,y1);glEnd();}struct Rectangle{float xmin,xmax,ymin,ymax;};Rectangle rect;int x0,y0,x1,y1;int CompCode(int x,int y,Rectangle rect){//求端点所在区号int code=0x00;if(y<rect.ymin)code=code|4;//0100下if(y>rect.ymax)code=code|8;//1000上if(x>rect.xmax)code=code|2;//0010右if(x<rect.xmin)code=code|1;//0001左return code;}int cohensutherlandlineclip(Rectangle rect,int &x0,int &y0,int &x1,int &y1){ int accept,done;float x,y;accept=0;done=0;int code0,code1,codeout;code0=CompCode(x0,y0,rect);code1=CompCode(x1,y1,rect);do{if(!(code0|code1)){//端点均在视区内accept=1;//取done=1;}else if(code0&code1){//端点在视区外侧x0=y0=x1=y1=0;done=1;accept=1;}else{if(code0!=0){codeout=code0;}else{codeout=code1;}if(codeout&LEFT_EDGE){y=y0+(y1-y0)*(rect.xmin-x0)/(x1-x0);//直线与视区边界的交点x=(float)rect.xmin;}else if(codeout&RIGHT_EDGE){y=y0+(y1-y0)*(rect.xmax-x0)/(x1-x0);x=(float)rect.xmax;}else if(codeout&BOTTOM_EDGE){x=x0+(x1-x0)*(rect.ymin-y0)/(y1-y0);y=(float)rect.ymin;}else if(codeout&TOP_EDGE){x=x0+(x1-x0)*(rect.ymax-y0)/(y1-y0);y=(float)rect.ymax;}if(codeout==code0){x0=x;y0=y;code0=CompCode(x0,y0,rect);}else{x1=x;y1=y;code1=CompCode(x1,y1,rect);}}}while(!done);if(accept){LineGL(x0,y0,x1,y1);}return accept;}void myDisplay(){glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0f,0.0f,0.0f);glRectf(rect.xmin,rect.ymin,rect.xmax,rect.ymax);LineGL(x0,y0,x1,y1);glFlush();}void Init(){glClearColor(0.0,0.0,0.0,0.0);glShadeModel(GL_FLAT);rect.xmin=100;rect.ymin=100;rect.xmax=300;rect.ymax=300;x0=0,y0=0,x1=250,y1=86;printf("Press key 'c' to Clip!\nPress key 'r' to Restore!\n"); }void Reshape(int w,int h){glViewport(0,0,(GLsizei)w,(GLsizei)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0,(GLdouble)w,0.0,(GLdouble)h);}void keyboard(unsigned char key,int x,int y){switch(key){case'c':cohensutherlandlineclip(rect,x0,y0,x1,y1);glutPostRedisplay();break;case'r':Init();glutPostRedisplay();break;case'x':exit(0);break;default:break;}}int main(int argc, char *argv[]){glutInit(&argc,argv);glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);glutInitWindowPosition(100,100);glutInitWindowSize(640,480);glutCreateWindow("Hello World!");Init();glutDisplayFunc(myDisplay);glutReshapeFunc(Reshape);glutKeyboardFunc(keyboard);glutMainLoop();return 0;}实验结果图 1 裁剪前后图 2 裁剪前后图 3 裁剪前后实验分析在上述实验结果中,图2的裁剪出现了问题,究其原因,是因为当直线两端点都在视区外时,未对该线段进行舍弃,而直接不做处理,对此,改进代码为if(code0&code1){//端点在窗口外同一侧,弃之x0=y0=x1=y1=0;done=1;accept=1;}其结果截图如下:图 4 裁剪前后。

4上机实验报告3:图形裁剪算法的具体实现

4上机实验报告3:图形裁剪算法的具体实现

计算机图形学课程实验报告信息与计算科学(三)上机实验3:裁剪算法班级:姓名:学号:上机实验(3)的题目和要求一、实验目的掌握图形裁剪算法的基本思想,并能上机编程实现相应的算法。

二、实验要求(Direction)1.每个学生单独完成。

2.开发语言规定为C语言。

3.请在自己的实验报告上写明姓名、学号、班级。

4.每次交的实验报告内容包括:试验目的和意义、题目、程序制作步骤、主程序(包括源代码注释)。

三、实验题目实验题1:上机编一程序实现直线的中点裁剪算法。

具体要求如下说明:1 该程序能实现窗口屏幕上任意一条直线的裁剪;2 直线段要求可以随机输入;运行结果图:裁剪之前裁剪之后#define LE 2#define RI 4#define BO 6#define TO 10#define XLEFT 150#define XRIGHT 350#define YBOTTOM 150#define YTOP 300#include "math.h"#include "stdio.h"#include "graphics.h"void main(){int x1,y1,x2,y2,xx,yy,xxx,yyy;int graphdriver=DETECT,graphmode;initgraph(&graphdriver,&graphmode," ");setcolor(6);line(XLEFT,YTOP,XRIGHT,YTOP);line(XLEFT,YBOTTOM,XRIGHT,YBOTTOM);line(XLEFT,YTOP,XLEFT,YBOTTOM);line(XRIGHT,YTOP,XRIGHT,YBOTTOM);x1=50;y1=200;x2=400;y2=300;setcolor(1);line(x1,y1,x2,y2);xx=0;yy=0;xxx=0;yyy=0;draw_ett(x1,y1,x2,y2,&xx,&yy);draw_ett(x2,y2,xx,yy,&xxx,&yyy);setcolor(4);line(xx,yy,xxx,yyy);getch();closegraph();}int encode (int x, int y, int *code){ int c=0;if (x<XLEFT) c=c|LE;else if (x>XRIGHT) c=c|RI;if (y<YBOTTOM) c=c|BO;else if (y>YTOP) c=c|TO;*code=c;return code;}draw_ett(int x1, int y1, int x2, int y2, int *x, int *y) { int code1,code2,code;int xx,yy;float d,d1,d2;encode(x1,y1,&code1);encode(x2,y2,&code2);if (code2==0) { xx=x2;yy=y2; *x=xx; * y=yy;return;}if ((code1&code2)!=0) return;L1: xx=(x1+x2)/2;yy=(y1+y2)/2;encode(xx, yy, &code);d1=(yy-y1)*(yy-y1);d2=(xx-x1)*(xx-x1);d=sqrt(d1+d2);if (d<=1) { *x=xx;*y=yy; return;}if ((code&code1)!=0){ x1=xx; y1=yy; }else { x2=xx; y2=yy;}goto L1;}实验题2:实现Sutherland-Hodgeman多边形裁剪算法。

图像分割实验报告

图像分割实验报告

图像分割实验报告
《图像分割实验报告》
图像分割是计算机视觉领域的一项重要技术,它能够将图像分割成不同的区域或对象,为图像识别、目标检测等任务提供了重要的基础。

本实验报告将介绍我们在图像分割领域的研究成果及实验结果。

实验目的
本次实验的目的是通过对图像分割算法的研究和实验,探讨不同算法在图像分割任务中的表现,并对比它们的优缺点,为进一步的研究提供参考。

实验方法
我们选取了常用的图像分割算法,包括基于阈值的分割、区域增长法、边缘检测法、基于聚类的分割等,对这些算法进行了实验比较。

我们使用了多种类型的图像数据集,包括自然场景图像、医学影像等,以验证算法在不同场景下的表现。

实验结果
通过实验,我们发现不同的图像分割算法在不同的图像类型下表现出不同的优劣势。

基于阈值的分割算法在简单的图像中表现较好,但在复杂的场景下效果有限;区域增长法对于连续性较强的对象分割效果较好;边缘检测法在处理边缘清晰的图像时表现出色;基于聚类的分割算法对于复杂背景下的对象分割有一定优势。

结论
通过本次实验,我们对图像分割算法的优劣势有了更深入的了解,不同的算法适用于不同的场景。

在未来的研究中,我们将进一步探索图像分割算法的改进
和优化,以提高图像分割的准确性和效率,为计算机视觉领域的发展贡献力量。

实验4-拼接裁剪

实验4-拼接裁剪

School of Urban and Environment Science, Central China Normal University
遥感影像的拼接和裁剪
步骤2:点击Mosaic Tools中Edit菜单下的Add images 菜单,选择待裁减 的影像。 。
School of Urban and Environment Science, Central China Normal University
遥感影像的拼接和裁剪
步骤5:选择AOI下的Copy Seletion To AOI。注意矢量图边缘的变 化(变成虚线)。
School of Urban and Environment Science, Central China Normal University
遥感影像的拼接和裁剪
步骤6:选择Save下的AOI Layer As。注意正确选择AOI文件的输出 目录和文件名(如wuhan-roi.roi)。
遥感影像的拼接和裁剪
步骤10:在Viewer中打开裁剪后的覆盖行政区的影像(以武汉市 中心城区为例。)
School of Urban and Environment Science, Central China Normal University
遥感影像的拼接和裁剪 行政区裁剪(方式2)
步骤1:点击ERDAS主面板中的DataPrep按钮-选择Mosaic Images按钮选择其中的Moscia Tools菜单。
*以上步骤准备了一个扩展名为roi的文件,该文件是行 政区裁剪(第7步)所必须的一个文件。
School of Urban and Environment Science, Central China Normal University

裁剪算法设计实验报告(3篇)

裁剪算法设计实验报告(3篇)

第1篇一、实验目的本次实验旨在深入理解并掌握裁剪算法的基本原理,通过编程实现Cohen-Sutherland算法和Liang-Barsky算法,对图形进行窗口裁剪,从而提高图形处理效率,优化显示效果。

二、实验环境1. 开发环境:Visual Studio 20192. 编程语言:C++3. 图形库:OpenGL三、实验内容1. 理解裁剪算法的基本原理;2. 实现Cohen-Sutherland算法;3. 实现Liang-Barsky算法;4. 对图形进行窗口裁剪,并展示裁剪效果。

四、实验过程1. 理解裁剪算法的基本原理裁剪算法是计算机图形学中的一个重要技术,用于将一个图形或图像中不需要的部分去除,只保留需要的部分。

常见的裁剪算法有Cohen-Sutherland算法、Liang-Barsky算法等。

Cohen-Sutherland算法是一种编码线段裁剪算法,通过将线段端点相对于窗口的位置进行编码,判断线段是否与窗口相交,从而实现裁剪。

Liang-Barsky算法是一种参数化线段裁剪算法,通过计算线段参数,判断线段是否与窗口相交,从而实现裁剪。

2. 实现Cohen-Sutherland算法(1)定义窗口边界首先,定义窗口边界,包括左边界、右边界、上边界和下边界。

(2)编码线段端点将线段端点相对于窗口的位置进行编码,编码规则如下:- 如果端点在窗口内,则编码为0;- 如果端点在窗口左侧,则编码为1;- 如果端点在窗口右侧,则编码为2;- 如果端点在窗口上方,则编码为4;- 如果端点在窗口下方,则编码为8。

(3)判断线段是否与窗口相交将线段两端点的编码进行异或运算,如果结果为0,则线段与窗口相交;否则,线段与窗口不相交。

(4)裁剪线段如果线段与窗口相交,则根据端点编码,将线段分为两部分,分别进行裁剪。

3. 实现Liang-Barsky算法(1)定义窗口边界首先,定义窗口边界,包括左边界、右边界、上边界和下边界。

图像裁剪的实验报告

图像裁剪的实验报告

图像裁剪的实验报告引言图像裁剪是一个在计算机视觉领域非常常见的任务,它用于将图像中感兴趣的区域提取出来,以便进一步进行分析和处理。

图像裁剪可以应用于很多领域,例如目标检测、人脸识别、场景分析等。

本实验旨在探索不同方法对于图像裁剪的效果和性能的影响,以及比较它们的优缺点。

实验过程实验数据准备在本实验中,我们使用了一组包含不同种类图像的数据集。

这些图像包括人物、动物、自然风景等,其中一部分图像包含了我们感兴趣的区域。

实验方法本实验选择了三种常见的图像裁剪方法进行比较:1. 手工选择裁剪区域:通过鼠标手动选择图像中感兴趣的区域,然后进行裁剪。

2. 基于边缘检测的自动裁剪:使用边缘检测算法,如Canny边缘检测,自动提取图像中的边缘区域,然后进行裁剪。

3. 基于机器学习的自动裁剪:使用已训练好的目标检测模型(如YOLO、Faster R-CNN等),自动识别图像中的目标区域,并进行裁剪。

实验步骤以下是我们进行实验的步骤:1. 针对手工选择裁剪区域方法,打开一张图像,在图像上使用鼠标手动选择感兴趣的区域,并进行裁剪。

2. 针对基于边缘检测的自动裁剪方法,使用Canny边缘检测算法提取图像的边缘区域,然后根据边缘区域进行裁剪。

3. 针对基于机器学习的自动裁剪方法,使用已训练好的目标检测模型,在图像中识别感兴趣的目标区域,并进行裁剪。

4. 对比比较不同方法下裁剪的结果,分析它们的优缺点。

5. 测量比较不同方法下裁剪的时间和资源消耗,分析它们的性能差异。

实验结果我们对实验数据集中的多张图像进行了裁剪,并对不同方法下的结果进行了比较。

以下是我们的观察和结论:- 手工选择裁剪区域:这种方法需要人工干预,能够灵活地选择感兴趣的区域,并且无需额外的算法支持。

然而,它需要用户具备一定的图像处理知识,并且在处理大量图像时,工作量相对较大。

- 基于边缘检测的自动裁剪:这种方法能够自动提取图像中的边缘区域,并取得了不错的效果。

实验四图像分割及彩色图像处理

实验四图像分割及彩色图像处理

实验四图像分割及彩色图像处理一、实验目的使用MatLab 软件进行图像的分割。

使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。

使用matlab如阿健对图像机械彩色处理,使学生通过实验熟悉彩色图像处理的相关方法,并体会到图像彩色处理技术及其对图像处理的效果。

二、实验要求要求学生能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能。

能够掌握分割条件(阈值等)的选择。

完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。

三、实验内容与步骤第一部分(1)使用Roberts 算子的图像分割实验调入并显示图像5.1.13.tiff中图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板:相应的矩阵为:rh = [0 1;-1 0]; rv = [1 0;0 -1];这里的rh 为水平Roberts 算子,rv为垂直Roberts 算子。

分别显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果;提示:先做检测结果的直方图,参考直方图中灰度的分布尝试确定阈值;应反复调节阈值的大小,直至二值化的效果最为满意为止。

分别显示处理后的水平边界和垂直边界检测结果;将处理结果转化为“白底黑线条”的方式;给图像加上零均值的高斯噪声;对于噪声图像重复步骤b~f。

(2)使用Prewitt 算子的图像分割实验使用Prewitt 算子进行内容(1)中的全部步骤。

(3)使用Sobel 算子的图像分割实验使用Sobel 算子进行内容(1)中的全部步骤。

(4)使用LoG (拉普拉斯-高斯)算子的图像分割实验使用LoG (拉普拉斯-高斯)算子进行内容(1)中的全部步骤。

提示1:处理后可以直接显示处理结果,无须另外计算梯度的模。

提示2:注意调节噪声的强度以及LoG (拉普拉斯-高斯)算子的参数,观察处理结果。

计算机图形学实验四 :裁剪

计算机图形学实验四 :裁剪

贵州大学实验报告学院:计算机科学与技术专业:计算机科学与技术班级:计科131glColor3f(0.0f, 1.0f, 0.0f);glVertex2f(x1, y1);glEnd();}//矩形的结构体typedef struct Rectangle{float xmin;float xmax;float ymin;float ymax;} Rectan;Rectan rect;int x0, y0, x1, y1;//求出坐标点的Cohen-Sutherland编码int CompCode(int x, int y, Rectan rect) {int code = 0x00;if (y < rect.ymin){code = code | 4;}if (y>rect.ymax){code = code | 8;}if (x>rect.xmax){code = code | 2;}if (x<rect.xmin){code = code | 1;}return code;}//裁剪直线int cohensutherlandlineclip(Rectan rect, int& x0, int& y0, int& x1, int& y1) {int accept = 0, done = 0;float x, y;int code0, code1, codeout;int x00 = x0, y00 = y0, x11 = x1, y11 = y1;code0 = CompCode(x0, y0, rect);code1 = CompCode(x1, y1, rect);//直线全部在矩形框内部,应保留if (!(code0 | code1)){accept = 1;done = 1;}//直线和矩形不相交,并且划直线的两点在矩形同侧(上、下、右。

计算机图形学 实验四 二维图形的裁剪

计算机图形学 实验四 二维图形的裁剪

西北农林科技大学实习报告学院名称:理学院专业班级:姓名:学号:课程:计算机图形学实验报告日期:第十五周实验四二维图形的裁剪一、实验目的1)加深直线段的剪裁算法的理解。

2)熟练掌握一种裁剪算法的编程方法。

二、实验步骤1)分析直线段和矩形窗口的位置关系,选定比较合理算法流程。

2)画出程序流程图。

3)编写程序的源程序。

4)编辑源程序并进行调试。

5)进行特殊模式的运行测试,并结合情况进行调整。

三、实验内容1)在编码算法、中点分割算法、Liang-Barsky算法三种中任选一种作为编程模型。

2)编写直线段裁剪的源程序。

3)建议有能力的学生编写多边形裁剪程序。

4)在计算机上编辑编译运行,实现直线段的裁剪。

原理1.直线和窗口的关系:直线和窗口的关系可以分为如下3类:(1)整条直线在窗口内。

此时,不需剪裁,显示整条直线。

(2)整条直线在窗口外,此时,不需剪裁,不显示整条直线。

(3)部分直线在窗口内,部分直线在窗口外。

此时,需要求出直线与窗框的交点,并将窗口外的直线部分剪裁掉,显示窗口内的直线部分。

直线剪裁算法有两个主要步骤。

首先将不需剪裁的直线挑出,即删去在窗外的直线。

然后,对其余直线,逐条与窗框求交点,并将窗口外的部分删去。

2.Cohen-Sutherland直线剪裁算法:(1)输入直线段的两端点坐标p1(x1,y1),p2(x2,y2),以及窗口的4条边界坐标,y wt ,y wb,y wl,y wr.(2)对p1,p2进行编码,点p1的编码为code1,点p2的编码为code2.(3)若code1| code2=0,对直线p1p2“简取”之,转(6);否则,若code1& code2≠0,对直线段“简弃”之,转(7);当上述两条均不满足时,进行步骤(4)。

(4)确保p1在窗口外部。

若p1在窗口内,则交换p1和p2的坐标值和编码。

(5)根据p1编码从低位开始寻找值为1的地方,从而确定p1在窗口外的哪一侧,然后求出直线段与相应窗口边界的交点S,并用交点S的坐标值替换p1的坐标值,即在交点S处把线段一分为二,因此可以去掉p1S。

实训4 区域填充和图形的裁剪

实训4  区域填充和图形的裁剪

实训4 区域填充和图形的裁剪一、实验目的1.通过实验,进一步理解和掌握扫描线填充算法;2.掌握用扫描线填充算法进行区域填充的基本过程;3.通过编程,会在TC环境下用扫描线填充算法编程实现一个饼型图的绘制;4.通过实验,进一步理解和掌握Sutherland 裁剪算法;5.掌握用Sutherland 裁剪算法裁减多边形的基本过程;6.通过编程,会在TC环境下用Sutherland 算法编程实现用矩形窗口对多边形的裁剪。

二、实验环境计算机、Turbo C或其他C语言程序设计环境三、实验内容1.用扫描线填充算法编程实现一个彩色饼型图的绘制;2.用Sutherland 算法编程实现用矩形窗口对多条直线的裁剪。

四、实验步骤1.算法、原理清晰,有详细的设计步骤;对于每条线段P1P2,分为三种情况处理。

a.若P1P2完全在窗口内,则显示该线段P1P2,简称“取”之。

b.若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。

c.若线段既不满足“取”的条件,也不满足“弃”的条件,则把线段分为两段。

其中一段完全在窗口外,可弃之。

然后对另一段重复上述处理。

2.依据算法、步骤或程序流程图,用C语言编写源程序;参考程序:#include <graphics.h>#include <stdio.h>int lt,rt,bm,tp;int wx[2],wy[2],wt[2],wb[2],wl[2],wr[2];void exlip(int wx[2],int wy[2]);void flagw(int *pti,int wx[2],int wy[2]){int i=*pti;wt[i]=0;wb[i]=0;wl[i]=0;wr[i]=0;if(wx[i]<lt) wl[i]=1;if(wx[i]>rt) wr[i]=1;if(wy[i]<tp) wt[i]=1;if(wy[i]>bm) wb[i]=1;}void exclip(int wx[2],int wy[2]){int i;if(wl[0]*wl[1]+wr[0]*wr[1]+wt[0]*wt[1]+wb[0]*wb[1]!=0) return; i=0;if(wl[0]+wr[0]+wt[0]+wb[0]==0){i=1;if(wl[1]+wr[1]+wt[1]+wb[1]==0){line(wx[0],wy[0],wx[1],wy[1]);return;}}if(wl[i]==1){wy[i]=wy[0]+(wy[1]-wy[0])*(lt-wx[0])/(wx[1]-wx[0]);wx[i]=lt;flagw(&i,wx,wy);exclip(wx,wy);}if(wr[i]==1){wy[i]=wy[0]+(wy[1]-wy[0])*(rt-wx[0])/(wx[1]-wx[0]);wx[i]=rt;flagw(&i,wx,wy);exclip(wx,wy);}if(wt[i]==1){wx[i]=wx[0]+(wx[1]-wx[0])*(tp-wy[0])/(wy[1]-wy[0]);wy[i]=tp;flagw(&i,wx,wy);exclip(wx,wy);}if(wb[i]==1){wx[i]=wx[0]+(wx[1]-wx[0])*(bm-wy[0])/(wy[1]-wy[0]);wy[i]=bm;flagw(&i,wx,wy);exclip(wx,wy);}}void clip(int left,int top,int right,int bottom,int px,int py,int qx,int qy) {int ui;lt=left;rt=right;bm=bottom;tp=top;wx[0]=px;wy[0]=py;wx[1]=qx;wy[1]=qy;setcolor(4);line(px,py,qx,qy);setcolor(2);for(ui=0;ui<2;ui++) flagw(&ui,wx,wy);exclip(wx,wy);}main(){int driver=DETECT,mode=0;initgraph(&driver,&mode,"");setbkcolor(BLUE);setcolor(YELLOW);rectangle(140,100,340,340);clip(140,100,340,340,200,300,250,250);clip(140,100,340,340,250,400,400,200);clip(140,100,340,340,70,200,250,240);getch();closegraph();}3.编辑源程序并进行调试;4.进行运行测试,并结合情况进行调整;5.对运行结果进行保存与分析;Cohen-SutherLand裁剪算法的原理。

实验四 图像分幅剪裁和图像投影变换

实验四 图像分幅剪裁和图像投影变换

二、不规则分幅剪裁

不规则分幅剪裁是指剪裁图像的边界范围是 任意多边形,必须事先生成一个完整的闭合 多边形区域,可以是一个AOI多边形,也可 以是ArcInfo的一个Polygon Coverage。
1.AOI多边形剪裁
在窗体中打开需要剪裁的图像,并用AOI工具绘制AOI 多边形,可将AOI多边形保存为(.aoi)文件,也可暂不退出 窗口,将图像与AOI多边形保留在窗口中。
与图像几何校正过程中的投影变换相比?与图像几何校正过程中的投影变换相比这种直接的投影变换可以避免多项式近似拟合对于大范围图像的地理参考是非常有意义的
实验四 图像分幅剪裁 图像投影变换
图像分幅裁剪
在实际工作中,经常需要根究研究范围对图 像进行分幅剪裁。 按照Erdas实现图像分幅剪裁的过程,可将 分幅剪裁分为:
不规则分幅剪裁
打开subset对话框进行ห้องสมุดไป่ตู้关参数的设置
① ② ③
输入要剪裁的文件名称(Input File):chongming.img; 输出要剪裁的文件名称(Output File):XX.img; 单击AOI按钮确定剪裁的范围,打开Choose AOI对话框;
④ ⑤ ⑥ ⑦
输出文件的类型:Unsigned 8 Bit; 输出文件的类型:continues; 输出象元的波段; 单击OK按钮确定。
不规则分幅剪裁
2.ArcInfo多边形剪裁
在Mask对话框中需要设置下列参数: ① 输入图像文件名称(Input File): chongming.img; ② 输入掩膜文件名称(Input Mask File): island.img; ③ 确定掩膜区域做交集运算(Window): intersection; ④ 输出图像文件名称(Output File):mask.img; ⑤ 输出文件类型(Output Data Type): Unsigned 8 Bit ; ⑥ 单击OK按钮确定。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像裁剪
影像裁剪的目的是将研究区以外的区域去除,经常是按照行政区划或研究区域的边界对图像进行裁剪,在基础数据生产中,还经常要做标准分副裁剪。

按照ENVI的图像裁剪过程,可分为规则裁剪和不规则裁剪。

1规则裁剪
(1)在主菜单中,选择File→Open Image File,打开裁剪的图像;
(2)在主菜单中,选择Basic Tools→Resize Data (Sptial/Spectral)命令;
(3)在Resize Data Input File对话框中选择需要裁剪的图像(图2-33);
图2-33 选择图像裁剪文件
Spatial Subset按钮在空间上对图像进行裁剪;
Spactral Subset按钮在光谱空间上分割。

(4)点击Spatial Subset按钮,设置规则裁剪的方式(图2-34);
A.基于图像的裁剪,点击区域(图2-35)。

图2-34选择图像裁剪方式图2-35基于图像的裁剪
Image:通过输入行列数确定裁剪尺寸,按住鼠标左键拖动图像的红色矩形框确定裁剪区域,或者直接用鼠标拖动红色边框来确定裁剪尺寸以及位置;
B.基于地图坐标的裁剪,点击选择坐标范围(图2-36)。

图2-36 基于地图坐标的裁剪
Map:通过输入左上角和右下角两点坐标来确定外边界矩形区域(图像必须有地理坐标);
C.基于文件的裁剪,点击选择基准图像。

图2-37 基于地图坐标的裁剪
File:以另外一个图像文件范围为标准确定外边界区域;
ROI/EVF:以感兴趣区域或者矢量边界为区域进行裁剪;
Scroll:根据当前放大的(meta zoomed)缩放窗口中的显示区域进行裁剪;(5)选择输出路径及文件名,点击OK按钮,完成规则图像裁剪(图2-38)。

图2-38 图像裁剪输出参数设置
2不规则裁剪
不规则裁剪是指裁剪图像的边界范围是一个任意多边形,通过事先确定的一个完整的闭合区域进行,这个区域可以是一个手工绘制的ROI多边形,也可以是ENVI支持的矢量数据文件。

1、基于手动绘制感兴趣区域的图像裁剪
(1)打开要裁剪的图像,并显示在Display中;
(2)在Image视图窗口中选择Overlay→Region of Interest。

在ROI Tool窗口中,选择ROI_Type→Polygon;
(3)在Window一栏中选择感兴趣区域绘制窗口,这里选择Image,然后在Image窗体中绘制一个多边形区域,然后右键单击两次结束;
(4)选择主菜单Basic→subset data via ROIs,或者选择ROI Tool→File→Subset data via ROIs命令,选择裁剪图像(图2-39);
图2-39 选择图像裁剪文件
(5)点击OK,在出现的Spatial Subset via ROI Parameters窗口中选择进行裁剪的感兴趣区域及输出文件(图2-40)。

图2-40 选择ROI文件
(6)单击OK,对图像进行裁剪处理(图2-41)。

图2-41 图像裁剪前后对比
2、基于矢量边界生成的感兴趣区域的裁剪
(1)选择主菜单File→Open Vector File,打开Shapefile矢量文件,投影参数不变,选择Output Result to为Memory,点击OK。

如图2-42所示;
图2-42 输入矢量文件参数
(2)在Available Vector List窗口中选择矢量图层,然后选择菜单File→Export Layers to ROI命令;
(3)在弹出的窗口中选择用矢量边界进行裁剪的影像图层,点击OK;
(4)在Export EVF layers to ROI窗口中选择转换方法,这里以第一种为例(图2-43);
图2-43 导出EVF图层为ROI
(5)选择主菜单Basic→subset data via ROIs,或者选择ROI Tool→File→Subset data via ROIs,选择要裁剪图像,点击OK;
(6)在弹出的Spatial Subset via ROI Parameters窗口中选择进行裁剪的感兴趣区域及输出文件(图2-44)。

图2-44 图像裁剪输出参数设置
(7)单击OK,对图像进行裁剪处理(图2-45)。

图2-45 图像裁剪前后对比。

相关文档
最新文档