傅立叶变换F的幅度和相位定义为:
Mag = sqrt(Real(F)^2 + Imaginary(F)^2)
Run Code Online (Sandbox Code Playgroud)
和
Phase = arctan(Imaginary(F)/Real(F))
Run Code Online (Sandbox Code Playgroud)
我曾尝试编写matlab代码,该代码采用灰度图像矩阵,对矩阵执行fft2(),然后根据变换计算幅度和相位.然后我想计算傅里叶变换的虚部和实部.这是通过将前两个方程重新排列为:
Real = Mag/sqrt(1 + tan(Phase)^2)
Run Code Online (Sandbox Code Playgroud)
和
Imaginary = Real*tan(Phase)
Run Code Online (Sandbox Code Playgroud)
最后组合和逆fft2:
F = Real + i*Imaginary
image = ifft2(F)
Run Code Online (Sandbox Code Playgroud)
我希望看到与输入相同的图像,但我得到了垃圾.我的数学错了吗?我的matlab mfile代码如下:
function y = forwardBackwardFFT(image)
F = fft2(image);
mag = sqrt(real(F).^2 + imag(F).^2);
phase = atan(imag(F)./real(F));
re = sqrt((mag.^2)./(1 + tan(phase).^2));
im = re.*tan(phase);
F = re + i*im;
f = ifft2(F);
subplot(1,2,1);
imshow(image);
Title('Original Image');
subplot(1,2,2);
imshow(f);
Title('Image after forward and backward FFT');
y = f;
Run Code Online (Sandbox Code Playgroud)
非常感谢 :)
我创建一个GSP表单,我希望使用$ .ajax()调用提交.
我知道GSP会被渲染到浏览器看到的最终HTML中,因此javascript可以调用普通的HTML元素.
我的表单是这样创建的:
<g:form action="save" id="callmeForm" >
<fieldset class="form">
<g:render template="form"/>
</fieldset>
<fieldset class="buttons">
<g:submitButton name="create" class="save" value="${message(code: 'default.button.create.label', default: 'Create')}" />
</fieldset>
</g:form>
Run Code Online (Sandbox Code Playgroud)
但是当最终表单以HTML格式呈现时,它缺少我在标记中给出的id字段:
<form action="/racetrack/callback/save/callmeForm" method="post" >
<fieldset class="form">
etc...
Run Code Online (Sandbox Code Playgroud)
有没有办法让我可以获取id属性,所以我可以用javascript的id引用表单?
我需要在Main类的main()方法中定义一个共享变量.我需要两个线程才能访问该共享变量.我通过实现Runnable接口并实现接口的抽象run()方法来创建线程.如何在我的类中定义的实现Runnable接口的run()方法中引用Main类的main()方法中定义的共享变量?显然,只是按名称调用它们是行不通的 - 因为它们出现在我的Runnable类的范围之外.
编辑 - 道歉,这是一个简单的例子
public Class DoThread implements Runnable {
public void run(){
sharedVar += 1
}
}
Run Code Online (Sandbox Code Playgroud)
并在一个单独的.class文件中:
public Class Main {
public static void main(String[] args) {
int sharedVar = 0;
Thread t1 = new Thread(new DoThread());
Thread t2 = new Thread(new DoThread());
t1.start();
t2.start();
t1.join();
t2.join();
}
}
Run Code Online (Sandbox Code Playgroud)
那么我应该创建一个对象来存储共享var,然后在创建线程时将该对象传递给两个DoThread()构造函数?有时在java通过ref或传递var之间会感到困惑,所以如果我这样做,t2会看到t1对共享变量的影响吗?
我正在忙着编写一个生成HTML代码的servlet。目的是创建一个热图,以供人们根据所存储的点击数据在网站上点击。我发现使用javascript在画布中创建热图,现在我想将该画布覆盖在点击信息所针对的网页上。
到目前为止,这是我的HTML,它成功生成了热图,并创建了iframe。iframe覆盖在热图上。目前,我不知道如何使iframe的大小与网页的大小相同,以致似乎正在查看的网站上覆盖了热图:
<html>
<head>
<style>
#heatmapArea{
position:relative;
float:left;
width:410px;
height:410px;
z-index:1000;
border:1px dashed black;
#iframeArea{
position:relative;
float:left;
width:100%;
height:100%
z-index:1;
}
}
</style>
</head>
<body>
<div id="main">
<div id="heatmapArea">
<div id="iframeArea">
<iframe src="www.google.com"></iframe>
</div>
</div>
</div>
<script type="text/javascript" src="heatmap.js"></script>
<script type="text/javascript">
window.onload = function(){
var xx = h337.create({"element":document.getElementById("heatmapArea"), "radius":10, "visible":true});
var el = "{max: 100, data: [{x: 20, y: 20, count: 10},{x: 200, y: 200, count: 43},{x: 200, y: 400, count: 7},{x: 380, y: 400, count: 6},{x: 400, y: 400, …Run Code Online (Sandbox Code Playgroud) 试图学习资源插件
根据我的理解,它有助于定义"资源",如css和javascript文件,并在需要时自动将它们拉入你的gsp.我了解如何创建可以使用标签等加载的模块.
我不理解的部分是:http://grails-plugins.github.com/grails-resources/guide/4.%20Using%20resources.html#4.2%20Linking%20to%20images
所以我在Config.groovy中创建了一个名为"images"的模块,如下所示:
grails.resources.modules = {
images {
resource url:'/images/view.jpg', attrs:[width: 1280, height:720 , alt: 'my view']
resource url:'/images/breakfast.jpg', attrs:[width: 1280, height:720, alt: 'breakfast']
}
}
Run Code Online (Sandbox Code Playgroud)
资源包含在head部分的.gsp页面中,如下所示:
<head>
<r:require modules="jquery-ui, blueprint"/>
</head>
Run Code Online (Sandbox Code Playgroud)
我知道资源已成功添加到head部分,因为当我检查页面源时,我在那里看到它们:
<link href="/ResourceTest/static/Aa7jV0N2qZjOz7TLZ9cl5cREIh2y5jJYV0ytn4nQg9r.jpg" rel="shortcut icon" width="1280" height="720" alt="my view" />
<link href="/ResourceTest/static/IpQBSjrYeLDdSUBGbP3jhf6Kkhvu1zV3XRtwWfKOIMn.jpg" rel="shortcut icon" width="1280" height="720" alt="breakfast" />
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何使用图像资源?我的意思是我知道如果它是javascript,导入资源可以让你访问使用html代码中的函数,但是对于图像,网站上写着"一旦你完成了这个,用它来引用它们会自动设置宽度,高度和其他属性."
怎么样?我尝试过以下方法:
<r:img module="images">
<r:img alt="breakfast">
Run Code Online (Sandbox Code Playgroud)
还有少数人没有成功
工作是什么:
<r:img uri="/images/breakfast.jpg">
Run Code Online (Sandbox Code Playgroud)
但无论你是否使用r:require标签添加模块,这都有效.那么,对于图像使用这个插件是什么意思,我将如何使用它?
所以我一直试图在几个小时内解决这个问题.我已经浏览了互联网,我已经搜索了StackOverflow,我问过一些同事(我是实习生)老实说,没有人能告诉我发生了什么!我把一个非常简单的例子放在一起向你展示我在做什么(即使用简单的例子我也得到错误)
我有两个.java文件.一个是Test.java另一个是testClass.java.
//testClass.java
package test;
public class testClass {
private int someMember=0;
public testClass(){
//kill me now
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有我的Test.java文件,其中包含我的main方法.(虽然在我真正的问题中我没有主方法 - 它是一个带doGet()方法的servlet )
//Test.java
package test;
public class Test {
public static void main(String[] args) {
testClass myTest = new testClass();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用以下内容进行编译(从Windows命令行,使用当前目录保存我的.java文件):
..java bin location..\javac testClass.java
Run Code Online (Sandbox Code Playgroud)
这非常正常,我在当前目录中获得了一个testClass.class文件.然后,我尝试使用以下内容编译Test.java文件(再次在工作目录中):
..java bin location..\javac -classpath . Test.java
Run Code Online (Sandbox Code Playgroud)
这会导致以下错误:
Test.java:6: cannot find symbol
symbol : class testClass
location : class test.testClass
testClass myTest = new …Run Code Online (Sandbox Code Playgroud)