python - 图像与自身的二维相关函数给出错误值
问题描述
由于我的样本在帧之间移动,我试图找到两个显微镜图像中的相对移动。此代码用于查找两个图像之间的 2D 相关性。然后我使用这个相关数组并确定最大值在哪里,并使用它来移动两个翻译后的图像,但即使对于同一个图像,我也会得到一个有限的移位值。第二个片段是翻译值代码。
from scipy.signal.signaltools import correlate2d as c2d
import cv2
def cross_image_3(im1, im2):
im1 = cv2.normalize(im1, None, alpha = 0, beta = 65535, norm_type = cv2.NORM_MINMAX, dtype = cv2.CV_16U)
im2 = cv2.normalize(im2, None, alpha = 0, beta = 65535, norm_type = cv2.NORM_MINMAX, dtype = cv2.CV_16U)
c12 = c2d(im1, im2, mode='same', boundary='symm')
return c12
img_centre = np.array([*np.shape(mycamera.frames[0])])/2
shift = np.zeros((n, 2))
for i in range(n):
corr_img = cross_image(mycamera.frames[0], mycamera.frames[i])
corr_centre = np.asarray([*np.unravel_index(np.argmax(corr_img), corr_img.shape)])
# print('Brightest spot in corr', corr_centre)
# print('Center of image', img_centre)
# print('Shift in pixels', img_centre - corr_centre)
shift[i] = img_centre - corr_centre
print(shift)
解决方案
推荐阅读
- aspnetboilerplate - aspnetboilerplate:如何实现动态模块管理?
- php - Symfony - 当我去 /login 时总是退出
- python - 无法在 Django 项目中显示用户名
- python-3.x - 关于 pandas .drop 方法的结构问题
- spring-boot - Spring Boot 应用程序返回对“myURL”处的 XMLHttpRequest 的访问已被 CORS 策略阻止
- python - 无法从 Python 脚本打开终端
- ubuntu - Ubuntu 20.04 phpmyadmin 不起作用
- python - 为什么即使满足条件,这个布尔值也不为真?
- windows - New-Cluster 远程安装windows故障转移集群
- html - Trying to extract a piece of html code using regex