`

将一个大图像分割成几个小图像的代码

阅读更多
//分割图像的方法。
importjavax.swing.*;
importjava.awt.*;
importjava.awt.image.*;
importjava.net.URL;
importjava.io.File;
importjava.util.Hashtable;

publicclassChenWin504extendsJApplet{
Imageim;
MediaTrackerme;
Imageimag[];
publicstaticHashtablecache;


publicvoidinit(){
URLur=ChenWin504.class.getResource("images/ima");
imag=newImage[10];
System.out.println(ur);
im=getToolkit().getImage("images/ima/jumptojavastrip.png");
me=newMediaTracker(this);
me.addImage(im,0);
try{
me.waitForID(0);
}catch(Exceptione){}

DemoImages();
for(inti=0;i<10;i++){
imag[i]=(Image)cache.get("jumptojavastrip-"+i+".png");
if(imag[i]==null)System.out.println("null");
}

}

publicvoidpaint(Graphicsg){
intx=5;
inty=100;

g.drawImage(im,5,0,null);
for(inti=0;i<10;i++){
g.drawImage(imag[i],x,y,null);
x+=100;
if(x>300){
x=5;y+=100;
}
}

}


publicvoidDemoImages(){
URLurl=ChenWin504.class.getResource("images/ima");
Filedir=newFile(url.getFile());
if(dir!=null&&dir.isDirectory()){
Stringlist[]=dir.list();
System.out.println(list.length);
cache=newHashtable(list.length);
for(inti=0;i<list.length;i++){
cache.put(list[i],createImage(list[i],this));
}
}
if(cache.containsKey("jumptojavastrip.png")){
Imageimg=(Image)cache.get("jumptojavastrip.png");
for(inti=0,x=0;i<10;i++,x+=80){
Strings="jumptojavastrip-"+String.valueOf(i)+".png";
cache.put(s,getCroppedImage(img,x,0,80,80,this));
}
}
}


publicstaticImagecreateImage(StringfileName,Componentcmp){
URLurl=ChenWin504.class.getResource("images/ima/"+fileName);
Imageimg=cmp.getToolkit().createImage(url);
trackImage(img,cmp);
returnimg;
}

//分割图像的方法。
publicstaticImagegetCroppedImage(Imageimg,
intx,inty,
intw,inth,
Componentcmp){
ImageProducerimgP=img.getSource();
CropImageFiltercif=newCropImageFilter(x,y,w,h);
ImageProducerip=newFilteredImageSource(imgP,cif);
Imagecroppedimage=cmp.getToolkit().createImage(ip);
trackImage(croppedimage,cmp);
returncroppedimage;
}


privatestaticvoidtrackImage(Imageimg,Componentcmp){
MediaTrackertracker=newMediaTracker(cmp);
tracker.addImage(img,0);
try{
tracker.waitForID(0);
}catch(Exceptionex){ex.printStackTrace();}
}
}

效果图:

分享到:
评论

相关推荐

    图像分割技术解析

    图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于...

    matlab图像分割,一种基于小波变换的图像分割方法。13000字论文+MATLAB源码

    本论文首先介绍了双峰法以及最大类方差自动阈值法,然后重点介绍一种基于小波变换的图像分割方法,该方法先对图像的灰度直方图进行小波多尺度变换,然后从较大的尺度系数到较小的尺度系数逐步定位出灰度阈值。...

    Ncut 图像分割

    图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感...从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。。。

    基于图像分割和平台直方图均衡的红外图像增强算法

    关于图像分割的一种优化算法。图像分割就是把图像分成若干个特定的、...从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

    基于matlab分割图像

    图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感...从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。 [1]

    彩色图像分割方法综述

    :图像分割是图像分析中一个非常重要的预处理步骤,分割效果将直接影响到后续任务的有效性。彩 色 图 像 相较于灰度图像更接近人类的视觉特性,因此对彩色图像的研究更为重要。对当前比较常用的一些彩色图像分割方 ...

    纹理图像分割,包括一个pdf文件,几个m文件

    纹理图像分割 包括一个pdf文件,几个m文件 matlab实现的

    马尔科夫图像分割matlab代码

    马尔可夫(MRF)图像分割MATLAB源码,有30几个函数。Markov随机场的例子程序,对于初学MRF的人很有用,能得到直观的印象

    几种Matlab的边缘分割处理代码

    利用Matlab处理图像,使用几种方法进行边缘分割

    医学图像分割综述

    图像分割是一个经典难题,随着影像医学的发展,图像分割在医学应用中具有特 殊的重要意义。本文从医学应用的角度出发,对医学图像分割方法,特别是近几年来图 像分割领域中出现的新思路、新方法或对原有方法的新的...

    基于matlab的车牌照识别图像分割,图像识别

    课设题目是用matlab识别车牌号,做了好几天。...过几天答完辩再写博客(虽然没人看),也算是给自己这一阵子抄程序的一个总结吧。。。。。。。ps:感觉自己抄程序的能力与日俱增、。。。。。。。。。

    基于聚类算法的图像分割综述

    图像分割是指将一幅图像分解成若干互不相交区域的集合,其实质是一个像素的聚类过程。本文以图像分割的聚类实质为线索,对近几年国内外最新的图像分割算法进行了综述,指出了聚类在这个领域的重要性。

    基于聚类算法的图像分割技术综述

    基于聚类算法的图像分割技术综述,马义德,,图像分割是指将一幅图像分解成若干互不相交区域的集合,其实质是一个像素的聚类过程。本文以图像分割的聚类实质为线索,对近几年

    数字图像处理技术实验四 图像分割

    1、掌握图像分割中几种主要的边缘检测方法(Roberts算子、Sobel算子、Prewitt算子和Laplacian算子)。 2、了解掌握图像的阈值分割算法。 3、掌握图像的区域分割算法。 二、实验要求 1. 选择Roberts算子、Sobel...

    image-processing.zip_image_分割_图像分割_图像分割算法_边缘 分割

    主要是几个用于图像分割算法的代码。有边缘分割,区域分割等等

    labview图像分割程序设计

    现在图像处理技术已经应用于多个领域当中,其中,...关于图像分割的方法已有上千种,本文将介绍几种主流的方法,并分析各自的特性,利用LabVIEW平台实现两种阈值方法分割图像,展现实验现象,比较两种方法的处理结果。

    图像分割的阈值法认识(论文)

    阈值法是一种简单有效的图像分割方法 ,它用一个或几个阈值将图像的灰度级分为几个部分 ,认为属于同一个部分的像素是同一个物体。阈值法的最大特点是计算简单 ,在重视运算效率的应用场合,它得到了广泛的应用。

    基于二叉树和最优截断的图像压缩算法matlab代码

    小波图像首先划分为几个块,并由BTCA单独编码的。根据BTCA的属性,仔细选择每个块的有效截断点,以优化速率失真的比例,从而获得更高的压缩比、更低的内存要求和随机访问性能。由于没有任何熵编码,所提出的方法简单...

    彩色图像分割:将彩色图像分割成多个区域。-matlab开发

    该程序将彩色图像分割成不同的区域。 本程序中分段的步骤如下: 1. 输入的彩色图像将使用 25 个 bin 粗略表示。 2. 粗略表示使用来自基于直方图的窗口过程的空间信息。 3. K-Means 用于对粗图像数据进行聚类。 ...

    基于matlab分水岭算法进行图像诊断代码6

    在MATLAB灰度图像中使用分水岭方法可以将图像分割成不同的区域,每个区域就可能对应一个我们所关注的对象。对于这些图像的子区域可以进行进一步的处理。 图像处理领域中,图像分割是图像后续处理的一个至关重要的...

Global site tag (gtag.js) - Google Analytics