文档视界 最新最全的文档下载
当前位置:文档视界 > 基于谱聚类的图像分割

基于谱聚类的图像分割

本科生毕业设计

姓名:学号:

学院:计算机科学与技术学院

专业:计算机科学与技术

设计题目:基于谱聚类的图像分割

专题:图像分割的设计与实现

指导教师:职称:副教授

大学毕业设计任务书

学院计算机专业年级学生姓名

任务下达日期:

毕业设计日期:

毕业设计题目:

毕业设计专题题目

毕业设计主要内容和要求:

院长签章:指导教师签字:

中国矿业大学毕业设计指导教师评阅书

指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):

成绩:指导教师签字:

年月日

中国矿业大学毕业设计评阅教师评阅书

评阅教师评语(①选题的意义;②基础理论及基本技能的掌握;③综合运用所学知识解决实际问题的能力;③工作量的大小;④取得的主要成果及创新点;⑤写作的规范程度;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):

成绩:评阅教师签字:

年月日

中国矿业大学毕业设计答辩及综合成绩

基于谱聚类的图像分割

需求分析

基于谱聚类的图像分割

一、利用前台,得到一张原始JPG图片;

二、把这张图片传到后台,JAVA通过JRI调用R;

三、利用R调用K-Means的改进算法,实现对这张图片的处理,由于一张图片的

像素值是一个矩阵,可以得到一组关于像素值的数据;

四、把这组像素值进行分类,对各类赋予不同的颜色进行标记,从而区分出需要的

图片信息;

五、把得到的新图片传到前台;

六、前台对进行处理后的图片进行显示,从图像中得到需要的信息,从而实现图像

的分割。

概要设计

模块功能图:

基于谱聚类的图像分割

图片:在本系统中所能使用到的图片属性为颜色和大小,颜色对应不同的像素,大小对应图像的像素点形成矩阵的大小;

前台:前台用来接收图片和显示图片;

后台(JA V A):用来接收图片并且调用R来实现对图片的处理;

后台(R):在被调用后,把图片信息转化成数据信息形成矩阵,从而实现对图片信息的处理。

经过上述的处理后,把新生成的图像信息返回,并在前端进行显示,从而实现图像分割。

把图像分割系统划分成二个子系统:接收图片并显示子系统,处理图片子系统。首先从外界得到需要进行分割的图片,通过接收图片并显示子系统把图片进行输入到系统中;然后再把图片输入到处理图片子系统,输入此系统后,把图片信息转化为矩阵,然后利用JA V A调用R,利用R中K-MEANS算法对矩阵信息进行分类获得新的矩阵,最终把矩阵信息转化成图片,实现对图片的处理;最后把处理后得到的新图片输入到显示图片子系统,从而实现图像分割,获得所需要的信息。

详细设计程序流程图:

基于谱聚类的图像分割

实现代码;

一.实现图片文件选择器:

package pri.study.convert;

import java.awt.EventQueue;

import javax.swing.ImageIcon;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import javax.swing.JButton;

import org.rosuda.REngine.REXPMismatchException;

import org.rosuda.REngine.Rserve.RserveException;

public class MyApp implements ActionListener {

private JFrame frame;

JButton selectPrePic = new JButton("选择要转换的图片");

JLabel prePic = new JLabel("New label");

JLabel label = new JLabel("转换前的图片:");

JButton convertPic = new JButton("转换图片");

JLabel label_1 = new JLabel("转换后的图片:");

JLabel label_2 = new JLabel("提示:转换后的图片默认放在转换前图片所在目录下");

JLabel curPic = new JLabel("转化浓厚的图片");

JFileChooser jfc = new JFileChooser();// 文件选择器

private int i=0;

String prePicPath="";

String curPicPath="";

/**

* Create the application.

*/

public MyApp() {

相关文档