小编use*_*761的帖子

如何在Matlab中制作高斯滤波器

我试图在Matlab中制作高斯滤波器而不使用imfilter()fspecial().我试过这个,但结果不像我和imfilter和fspecial那样.

这是我的代码.

function Gaussian_filtered = Gauss(image_x, sigma)

% for single axis
% http://en.wikipedia.org/wiki/Gaussian_filter
Gaussian_filtered = exp(-image_x^2/(2*sigma^2)) / (sigma*sqrt(2*pi)); 
end
Run Code Online (Sandbox Code Playgroud)

对于2D高斯,

function h =  Gaussian2D(hsize, sigma)

n1 = hsize;
n2 = hsize;

for i = 1 : n2 
        for j = 1 : n1
        % size is 10;
        % -5<center<5 area is covered.
        c = [j-(n1+1)/2 i-(n2+1)/2]';                
        % A product of both axes is 2D Gaussian filtering
        h(i,j) = Gauss(c(1), sigma)*Gauss(c(2), sigma);        
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

最后一个是

function …
Run Code Online (Sandbox Code Playgroud)

matlab image gaussian

5
推荐指数
1
解决办法
5万
查看次数

如果要打开socket,如何中断线程?

我试图关闭当前线程,它是多线程服务器的一部分.线程已准备好打开客户端可以访问的套接字.

除非下面的代码包含在while()循环中,否则一切正常.

new ServerThread(serversocket.accept(),this.Rstr,bag.numberofDatatoAcquire).start();

这是服务器的代码:

public void run() {

    System.out.println("This has been called ");   

    try{

       System.out.println("This has been tried");    
       serversocket = new ServerSocket(this.iPort);                                 

       Thread thisThread = Thread.currentThread();

       while(!thisThread.isInterrupted()){
           new ServerThread(serversocket.accept(), this.Rstr, bag.numberofDatatoAcquire).start();
           //sending socket accessed, where it will store the data and how much it will collect it.                            
           System.out.println("This has been running");                  
           Thread.sleep(10);               
       }           
    }catch(InterruptedException e){
        //why bother? it is an usual happening...lol
    }catch(IOException ioe)
    {
        System.err.println("Can't open the socket on port");               
    }
    finally{     
       System.out.println("Thread is dead and ready for …
Run Code Online (Sandbox Code Playgroud)

java multithreading interrupt

4
推荐指数
2
解决办法
3514
查看次数

如何更新Java swing背景图?

在此输入图像描述

在此输入图像描述

当您看到这些图片时,菜单项关闭后不会更新背景网格线和黑色矩形.我该如何更新?在C#中有一个事件处理程序可以自动更新,但我是Java swing GUI应用程序的新手.

这是代码:

public void paint(Graphics g) {

  super.paintComponents(g); 

  MainDisplayForm mD = new MainDisplayForm();           


  Graphics2D g2 = (Graphics2D) g;  

  g2.setColor(Color.BLACK);
  int gridWidth = 1240;
  int gridHeight = 400;      
  g2.fillRect(20, 50, gridWidth, gridHeight);


  g2.setColor(Color.darkGray);

  paintGrid(g2,gridWidth, gridHeight);

  g2.setColor(Color.red);
  Line2D line = new Line2D.Float(20, 50, 250, 260);               
  g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  //g2.draw(line); //pending       

  g2.dispose();

}

private void paintGrid(Graphics g, int gridWidth, int gridHeight)
{

  for(int i=20; i<gridWidth+20; i=i+10)
  {      
      g.drawLine(i, 50, i, gridHeight+49);          
  }      

  for(int i=50; i<gridHeight+50; i=i+10)
  {      
      g.drawLine(20, i, 1259, i);          
  } …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing event-handling draw

1
推荐指数
1
解决办法
683
查看次数