通过cv2找到适合图像的太阳黑子

时间:2017-08-28 06:37:26

标签: python numpy matplotlib fits cv2

我目前正在处理天文数据(图像),我的任务是编写一个程序,以适合格式找到给定图像上的太阳黑子。

据我所知,任务与cv2相关,但我遇到了格式的巨大障碍。图像数据是2D float32 numpy数组,当给予cv2时会丢失所有细节。

我也试过将float32转换为uint8,但结果并不好。

left:before(matplotlib),right:after(cv2)

如图所示,细节丢失了,找到景点并不是一张好照片。那么,也许有另一种解决方法吗?

[import cv2

from astropy.io import fits
import matplotlib.pyplot as plt
import numpy as np

img_l = fits.open('hmi.Ic_45s.20170605_000000_TAI.2.continuum.fits')
img = img_l\[0\].data

plt.imshow(img) #Showing Image in matplotlib
cv2.imshow('',img) #The image is white round with black background

image = np.array(img/255, dtype = np.uint8) #Converting float32 to uint8
cv2.imshow('', image) #Getting converted image

0 个答案:

没有答案