2012-09-18 37 views
7

Tôi sử dụng chức năng imshow với interpolation='nearest' trên hình ảnh thang độ xám và có được một bức tranh màu đẹp, kết quả là có một số phân đoạn màu sắc cho tôi, chính xác những gì đang xảy ra ở đó?Matplotlib `imshow (nội suy = 'gần nhất')` làm gì?

Tôi cũng muốn có được một cái gì đó như thế này để xử lý hình ảnh, có một số chức năng trên mảng numpy như interpolate('nearest') không?

CHỈNH SỬA: Hãy sửa tôi nếu tôi sai, có vẻ như phân cụm pixel đơn giản (cụm là màu của bản đồ màu tương ứng) và từ 'gần nhất' nói rằng nó có màu bản đồ gần nhất (có thể trong không gian RGB) để quyết định cụm pixel nào thuộc về.

+0

Xem câu trả lời này: http://stackoverflow.com/questions/14722540/smoothing-between-pixels-of-imagesc-imshow-in-matlab-like-the-matplotlib-imshow/14728122#14728122 – jojo

Trả lời

12

interpolation='nearest' chỉ hiển thị hình ảnh mà không cố gắng nội suy giữa các pixel nếu độ phân giải màn hình không giống với độ phân giải hình ảnh (thường là trường hợp này). Nó sẽ tạo ra một hình ảnh trong đó pixel được hiển thị dưới dạng hình vuông nhiều pixel.

Không có mối quan hệ nào giữa interpolation='nearest' và hình ảnh thang độ xám được hiển thị bằng màu. Theo mặc định, imshow sử dụng hình đại diện jet để hiển thị hình ảnh. Nếu bạn muốn nó được hiển thị trong thang độ xám, hãy gọi phương thức gray() để chọn bản đồ màu xám.

+0

Cảm ơn bạn đã nhận xét về colormap! Nó giúp tôi đi đúng hướng. – Alex

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