⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 image_identity.java~50~

📁 分别是模糊识别、模糊聚类、模糊控制的实例代码
💻 JAVA~50~
字号:
package fuzzy_identity;
import java.util.*;

public class Image_Identity {
  private byte image[][]=new byte[100][100];
  private static byte rectangle[][]=new byte[100][100];
  private static byte circle[][]=new byte[100][100];
  private Vector point_v;
  private point p;
  private int temp;
  private Hm_close hm;

  public Image_Identity(Vector v)    //调用图形模板象素数组的初始化方法
  {
    point_v=v;
    Init_rectangle();
    for(int i=25;i<35;i++)
    {
      Init_circle(i);
    }
    for(int m=0;m<100;m++)
      for(int n=0;n<100;n++)
      {
        temp=n;
        if(circle[m][n]==1&&circle[m][++temp]==0&&circle[m][++temp]==1)
          circle[m][--temp]=1;
      }
    Init_image();
  }

  public void Init_rectangle()     //初始化正方形模板象素数组
  {
    for(int i=15;i<25;i++)
      for(int j=15;j<84;j++)
        rectangle[i][j]=1;
    for(int i=75;i<84;i++)
      for(int j=15;j<84;j++)
        rectangle[i][j]=1;
    for(int i=15;i<85;i++)
      for(int j=15;j<25;j++)
        rectangle[i][j]=1;
    for(int i=15;i<85;i++)
      for(int j=75;j<84;j++)
        rectangle[i][j]=1;
  }

  void CirPot(int x0,int y0,int x,int y)
  {
     SetPixel (x0,y0,x,y);
     SetPixel (x0,y0,y,x);
  }

  void  SetPixel (int x0,int y0,int x,int y)
  {
     circle[x0+x][y0+y]=1;
     circle[x0-x][y0+y]=1;
     circle[x0+x][y0-y]=1;
     circle[x0-x][y0-y]=1;
     circle[x0+y][y0+x]=1;
     circle[x0-y][y0+x]=1;
     circle[x0+y][y0-x]=1;
     circle[x0-y][y0-x]=1;
  }

  public void Init_circle(int radius)     //初始化圆形模板象素数组
  {
     int x,y,d,x0,y0;
     x=0;
     y=radius;      //圆半径
     x0=y0=49;      //圆心坐标
     d=(int)3-2*30;
     while(x<y)
    {
        CirPot(x0,y0,x,y);
        if (d < 0)
        {
           d=d+4*x+6;
        }
        else
        {
            d=d+4*(x-y)+10;
            y--;
         }
          x++;
    }
    if(x==y)
      CirPot(x0,y0,x,y);
  }

  public void Init_image()    //初始化待识别图形模板象素数组
  {
    int x=0;
    int y=0;
    for(int i=0;i<point_v.size()-1;i++)
    {
      p=(point)point_v.elementAt(i);
      for(int a=-5;a<=5;a++)
        for(int b=-5;b<=5;b++)
        {
          x=p.x+a;
          y=p.y+b;
          if(x<0)
          {
            x=0;
          }
          if(y<0)
          {
            y=0;
          }
          if(x>99)
          {
            x=99;
          }
          if(y>99)
          {
            y=99;
          }
          image[x][y]=1;
        }
    }
  }

  public void a()
  {
    hm=new Hm_close();
    System.out.println(hm.exe(image,rectangle,100,100));
    System.out.println(hm.exe(image,circle,100,100));

    for(int i=0;i<100;i++)
    {for(int j=0;j<100;j++)
    {
      System.out.print(rectangle[i][j]);
    }
       System.out.println("\n");
    }
       System.out.println("-----------------------------------------------------------");
    for(int i=0;i<100;i++)
    {for(int j=0;j<100;j++)
    {
      System.out.print(circle[i][j]);
    }
       System.out.println("\n");
    }
     System.out.println("-----------------------------------------------------------");
    for(int i=0;i<100;i++)
    {for(int j=0;j<100;j++)
    {
    System.out.print(image[i][j]);
    }
     System.out.println("\n");
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -