• 大小: 199KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Java
  • 标签: java  

资源简介

用java实现的数字图像处理的基本算法。代码非常清晰,算法一个包,工具一个包,界面一个包。非常适合数字图像处理的初学者。

资源截图

代码片段和文件信息

package algorithm;



import java.awt.*;
import java.awt.image.*;
 
public class Canny extends Component {
 
        public Canny() {
               threshold1 = 50;
               threshold2 = 230;
               setThreshold(128);
               setWidGaussianKernel(15);
        }
 
        public void process()  {
              
               width = sourceImage.getWidth(this);
               height = sourceImage.getHeight(this);
               picsize = width * height;
               data = new int[picsize];
               magnitude = new int[picsize];
               orientation = new int[picsize];
               float f = 1.0F;
               canny_core(f widGaussianKernel);
               thresholding_tracker(threshold1 threshold2);

               
               for (int i = 0; i < picsize; i++)
                       if (data[i] > threshold)
                               data[i] = 0xff000000;
                       else
                               data[i] = -1;
 
               edgeImage =  pixels2image(data);
               data = null;
               magnitude = null;
              
        }
 
        private void canny_core(float f int i) {
               boolean flag = false;
               boolean flag1 = false;
               derivative_mag = new int[picsize];
               float af4[] = new float[i];
               float af5[] = new float[i];
               float af6[] = new float[i];
               data = image2pixels(sourceImage);
               int k4 = 0;
               do {
                       if (k4 >= i)
                               break;
                       float f1 = gaussian(k4 f);
                       if (f1 <= 0.005F && k4 >= 2)
                               break;
                       float f2 = gaussian((float) k4 - 0.5F f);
                       float f3 = gaussian((float) k4 + 0.5F f);
                       float f4 = gaussian(k4 f * 0.5F);
                       af4[k4] = (f1 + f2 + f3) / 3F / (6.283185F * f * f);
                       af5[k4] = f3 - f2;
                       af6[k4] = 1.6F * f4 - f1;
                       k4++;
               } while (true);
               int j = k4;
               float af[] = new float[picsize];
               float af1[] = new float[picsize];
               int j1 = width - (j - 1);
               int l = width * (j - 1);
               int i1 = width * (height - (j - 1));
               for (int l4 = j - 1; l4 < j1; l4++) {
                       for (int l5 = l; l5 < i1; l5 += width) {
                               int k1 = l4 + l5;
                               float f8 = (float) data[k1] * af4[0];
                               float f10 = f8;
                               int l6 = 1;
                               int k7 = k1 - width;
                               for (int i8 = k1 + width; l6 < j; i8 += width) {
                                      f8 += af

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-04-29 14:43  digitalImageProcessing\
     文件         386  2013-04-29 14:43  digitalImageProcessing\.classpath
     文件         398  2013-04-29 14:43  digitalImageProcessing\.project
     目录           0  2013-04-29 14:43  digitalImageProcessing\.settings\
     文件         629  2013-04-29 14:43  digitalImageProcessing\.settings\org.eclipse.jdt.core.prefs
     目录           0  2013-04-29 14:43  digitalImageProcessing\bin\
     目录           0  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\
     文件        7931  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\Canny.class
     文件        1697  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\EdgeDetection.class
     文件        3496  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\FFTTransform.class
     文件        6659  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\GeoTransform.class
     文件       10341  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\ImageEnhancement.class
     文件        3723  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\ImageSegmentation.class
     文件        2090  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\Morphology.class
     文件        7491  2013-04-29 14:43  digitalImageProcessing\bin\algorithm\WaveletTransform.class
     目录           0  2013-04-29 14:43  digitalImageProcessing\bin\test\
     文件        4582  2013-04-29 14:43  digitalImageProcessing\bin\test\HistgramDlg.class
     文件        2260  2013-04-29 14:43  digitalImageProcessing\bin\test\MouseEvent_1$1.class
     文件        1011  2013-04-29 14:43  digitalImageProcessing\bin\test\MouseEvent_1.class
     文件         729  2013-04-29 14:43  digitalImageProcessing\bin\test\RotateDlg$1.class
     文件         718  2013-04-29 14:43  digitalImageProcessing\bin\test\RotateDlg$2.class
     文件         718  2013-04-29 14:43  digitalImageProcessing\bin\test\RotateDlg$3.class
     文件        4508  2013-04-29 14:43  digitalImageProcessing\bin\test\RotateDlg.class
     文件        2404  2013-04-29 14:43  digitalImageProcessing\bin\test\TestForLinearDlg$1.class
     文件        5951  2013-04-29 14:43  digitalImageProcessing\bin\test\TestForLinearDlg.class
     目录           0  2013-04-29 14:43  digitalImageProcessing\bin\util\
     文件        4391  2013-04-29 14:43  digitalImageProcessing\bin\util\ProcessMath.class
     文件        3481  2013-04-29 14:43  digitalImageProcessing\bin\util\ProcessUtil.class
     目录           0  2013-04-29 14:43  digitalImageProcessing\bin\view\
     文件         725  2013-04-29 14:43  digitalImageProcessing\bin\view\ConvoleDlg$1.class
     文件         725  2013-04-29 14:43  digitalImageProcessing\bin\view\ConvoleDlg$2.class
............此处省略119个文件信息

评论

共有 条评论