2009-12-16 37 views
5

tôi đã tạo ra một âm mưu nhưRẽ một âm mưu MATLAB vào hình ảnh

figure; hold; 
axis([0 10 0 10]); 
fill([ 1 1 5 5], [5 1 1 5],'b') 

và bây giờ tôi muốn có cốt truyện này như là một ma trận để tôi có thể ví dụ: lọc các blog với một gaussian. Googleing Tôi tìm thấy chủ đề này Rasterizing Plot to Image tại MATLAB Central. Tôi đã thử nó, nhưng tôi chỉ có thể làm cho nó hoạt động cho các đường dây hoặc chức năng.

Bạn có ý tưởng nào không?

+0

Tôi biết, tôi đã làm ví dụ quá đơn giản/tầm thường. Nhưng với câu trả lời tôi đánh dấu, người ta có thể rasterize ngay cả các lô tùy ý một cách dễ dàng. – Framester

Trả lời

8

Bạn có thể sử dụng chức năng GETFRAME. Nó trả về cấu trúc khung phim, mà thực sự là con số rasterized. Field cdata sẽ chứa ma trận của bạn.

F=getframe; 
figure(2) 
imagesc(F.cdata); 
0

Các đặc tính mong muốn của ma trận mục tiêu của bạn là gì? Và bạn muốn rasterise loại hình ảnh nào?

Bạn thấy đấy, cho ví dụ duy nhất bạn đã cho chúng ta đó là gần như không đáng kể để xác định một ma trận đại diện cho hình ảnh của bạn ...

1. figmat = ones(10,10,3) % create a 10x10 raster where each entry is a triple for RGB, setting them all to 1 colours the whole raster white 
2. figmat(2:5,2:5,1:2) = 0 % sets RG components in the coloured area to 0, leaving only blue 

ma trận của bạn là một raster để bắt đầu. Bây giờ, bạn có thể sử dụng hình ảnh chức năng tích hợp để hình dung ma trận của bạn. Hãy xem tài liệu cho hàm đó. Và lưu ý rằng đề xuất của tôi không đáp ứng thông số kỹ thuật để sử dụng với hình ảnh() và colormap().

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