2013-07-11 43 views
8

Tôi rất mới lập trình trong python, và im vẫn cố gắng tìm ra mọi thứ, nhưng tôi gặp vấn đề khi cố gắng chuyển sang gaussian trơn tru hoặc xoay chuyển một hình ảnh. Đây có lẽ là một sửa chữa dễ dàng, nhưng tôi đã dành rất nhiều thời gian để tìm ra nó bắt đầu phát điên. Tôi có một tập tin 3d .fits của một nhóm các thiên hà và đã cắt ra một số thiên hà nhất định và lưu nó vào một png với aplpy. Về cơ bản, nó cần phải được làm mịn như một gaussian với kích thước chùm lớn hơn (tức là làm cho toàn bộ vật thể lớn hơn bằng cách mở rộng FWHM nhưng làm mờ đầu ra). Tôi biết có những thứ như scipy.ndimage.convolve và một chức năng tương tự ở dạng gumpy mà tôi có thể sử dụng, nhưng tôi có một thời gian khó dịch nó thành một cái gì đó hữu ích. Nếu bất cứ ai có thể cho tôi một bàn tay với điều này và chỉ cho tôi đi đúng hướng nó sẽ là một trợ giúp rất lớn.Gaussian Làm mịn một hình ảnh trong python

+0

bạn đã thử OpenCV (opencv) [http://opencv.willowgarage.com/documentation/python/imgproc_image_filtering.html] – PepperoniPizza

+0

Tôi đã thử liên kết nhưng nó không hoạt động. – Jenn

+0

vâng xin lỗi, đã có lỗi đánh máy, hãy thử ngay bây giờ: http://opencv.willowgarage.com/documentation/python/imgproc_image_filtering.html – PepperoniPizza

Trả lời

14

Điều gì đó giống như vậy?

import numpy as np 
import scipy.ndimage as ndimage 
import matplotlib.pyplot as plt 

img = ndimage.imread('galaxies.png') 
plt.imshow(img, interpolation='nearest') 
plt.show() 
# Note the 0 sigma for the last axis, we don't wan't to blurr the color planes together! 
img = ndimage.gaussian_filter(img, sigma=(5, 5, 0), order=0) 
plt.imshow(img, interpolation='nearest') 
plt.show() 

enter image description here enter image description here

(ảnh gốc lấy từ here)

+0

Điều đó hoạt động rất tốt, cảm ơn bạn! Bạn có biết liệu điều này có thể thực hiện với tệp .fits không? Sau đó, tôi có thể làm điều này với các tập tin ban đầu mà không cần chuyển đổi nó thành một png. – Jenn

+1

Bạn sẽ cần một thư viện cụ thể để đọc định dạng đó. Tôi tìm kiếm nhanh trên google dẫn tôi [tại đây] (http://www.astropy.org/). Tôi không có 'astropy' được cài đặt trên hệ thống của mình, nhưng nó có vẻ là [tài liệu] (https://astropy.readthedocs.org/en/v0.2.3/io/fits/index.html). – Jaime

+0

chỉ cần sử dụng trang phục? import pyfits A = pyfits.getdata (tên tập tin) hơn A nên là numpy.ndarray với dữ liệu của bạn trong đó, và hơn làm bộ lọc ndimage trên nó – usethedeathstar

Các vấn đề liên quan