- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于迈克尔逊干涉仪的实验报告,我想用Python编写一个自动计算条纹的代码(现在我们必须手动计算它们,而且不精确)。我为此目的拍摄了一段视频。
你会如何开始?非常感谢。
最佳答案
我会查看 openCV,一个用于 python 的开源计算机视觉库。由于条纹可能与背景有很大不同,因此您可以对图像求导 ( https://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/sobel_derivatives/sobel_derivatives.html ),并计算梯度较大的位置。我对您发布的图像的解决方案如下。我认为这应该让您走上正确的道路。
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np
import cv2
from scipy.signal import find_peaks
from scipy.ndimage.filters import gaussian_filter1d
fig = plt.figure(tight_layout=True)
gs = gridspec.GridSpec(2, 2)
ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])
ax3 = fig.add_subplot(gs[1, :])
ax1.set_xticks([])
ax1.set_yticks([])
ax2.set_yticks([])
ax2.set_xticks([])
img = cv2.imread('michelson.jpg', 0) # read in the image as grayscale
ax1.imshow(img, cmap='gray')
ax1.set_title("Original image (grayscale)")
img[img < 10] = 0 # apply some arbitrary thresholding (there's
# a bunch of noise in the image
yp, xp = np.where(img != 0)
xmax = max(xp)
xmin = min(xp)
target_slice = (xmax - xmin) / 2 + xmin # get the middle of the fringe blob
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5) # get the vertical derivative
sobely = cv2.blur(sobely,(7,7)) # make the peaks a little smoother
ax2.imshow(sobely, cmap='gray') #show the derivative (troughs are very visible)
ax2.plot([target_slice, target_slice], [img.shape[0], 0], 'r-')
slc = sobely[:, int(target_slice)]
slc[slc < 0] = 0
ax2.set_title("vertical derivative (red line indicating slice taken from image)")
slc = gaussian_filter1d(slc, sigma=10) # filter the peaks the remove noise,
# again an arbitrary threshold
ax3.plot(slc)
peaks = find_peaks(slc)[0] # [0] returns only locations
ax3.plot(peaks, slc[peaks], 'ro')
ax3.set_title('number of fringes: ' + str(len(peaks)))
plt.show()
关于python - 迈克尔逊干涉仪条纹计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524759/
我正在尝试重用在 jsp 中设置并在 Stripes 布局渲染中使用的变量。 主页:/index.jsp 布局渲染页面:/jsp/widgets/signin/oAuthUrl.jsp 我的/jsp/
我已经测试了几个小时,但我似乎无法让边框图像做我想做的事。 我正在尝试向带有水平条纹的 div 添加底部边框。即2px灰,2px白,2px灰;即灰色和白色条纹。 像这样: 这是我目前所拥有的: .bo
我正在尝试使用一个不错的响应式网站模板 http://html5up.net/striped并遇到了一些问题。我已经设置了一个非常基本的测试。我 downloaded条纹包,在陨石应用程序中创建了一个
为什么这行不通? (例如,为什么脚本没有实际运行并创建付款按钮,就像它不在指令中那样。) .directive('stripeForm', ['$log', function($log) { re
我有一个表(Maintable),里面有信息。此外,每个 tr 都有一个子表,其中包含可以在需要时折叠的更多信息。现在,我希望对 maintable 中的 tr 进行 strip 化。我尝试使用:
我有一个表,其中包含由类标记的行。这些行应该是斑马条纹。需要注意的是它们并不总是连续的。 我尝试过按表和类名进行匹配,但最终结果总是不正确。发生的情况是, strip 化将应用于表级别,然后仅在具有该
原始表(http://highspeedbroadband.com.my/home-package/comparison-chart-for-home-package/) 我想修改下图中突出显示的原始
我有以下 html 文件: .table-striped { padding: 0; margin: 0;
这个问题在这里已经有了答案: CSS technique for a horizontal line with words in the middle (34 个答案) 关闭 9 年前。
我有一个 bootstrap 条纹表 ( .table-striped > tbody > tr:nth-of-type(odd){background-color: #f9f9f9;} ),我正在使
我对 Spring MVC 很有经验,正在试用 Stripes 以决定是否在新项目中试用它。 在 Spring MVC 中,我将准备模型数据并将其传递给 View ,方法是将其添加到由我的 Contr
我正在尝试使用 Rails 在 Stripe 中创建一次一次性充电。我收到以下错误: Stripe::InvalidRequestError (No such token: tok_18nnwSJ6t
在 Stripes 中,如果存在错误的操作类映射,Stripes 的默认行为是将控件转发到发出请求的同一个 JSP,并给出完整的错误堆栈。 我计划修改此行为,并希望在出现错误时提供更加用户友好的消息。
我的问题分为两部分: 如何使用 spark 设置(微调)高级 ORC 参数? 各种帖子显示可能存在问题Spark Small ORC Stripes , How to set ORC stripe s
我有一个 Stripes 框架问题。 这个重定向页面在注解方法之前? 类似于: @Before public void test() { String login=(String)context.
我想使用 Jest 测试我的 nodejs 代码。在我的代码中,我使用了条纹。 当需要条纹时,你必须使用这一行 const stripe=require('stripe')("apikey"); 为了
在这个例子中: https://jsfiddle.net/ywb77uhv/ 为什么将 strip 路径颜色更改为白色以外的颜色会破坏渲染?如何能够更改路径颜色? #stri
我在获取斜条纹背景以在 Chrome 中很好地显示时遇到了问题。 background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,0.1)
我想在图像上绘制黑白条纹,在图像顶部水平和垂直地每 20 列切换一次,同时保持在图像边界内。到目前为止,我可以获得一个带有 1 像素宽垂直条纹的黑色正方形。我尝试过通过切换东西来至少在水平线上获得细长
所以我最近一直在尝试学习 Stripe API...我进展缓慢,但在处理这些元数据信息时遇到了一些障碍。 我希望实现的是在创建订阅和客户时向订阅添加元数据。 这是创建客户和订阅的原始脚本: $cust
我是一名优秀的程序员,十分优秀!