フィルターのクリア

How to set units of image of an array to pixels?

2 ビュー (過去 30 日間)
Anna
Anna 2014 年 8 月 9 日
コメント済み: Anna 2014 年 8 月 18 日
I have a matrix (called V) of 1000*1000 random 0s and 1s. I want each 0 or 1 to be represented by a single pixel on the screen.
The command imagesc(V) makes each 0 or 1 a square which black(0) or white(1), how do I make each rectangle one pixel?
(I have made a color map for this, MAP = [0 0 0; 1 1 1]. If there was an easier way to make 0s appear black and 1s appear white, please let me know).

採用された回答

Matz Johansson Bergström
Matz Johansson Bergström 2014 年 8 月 9 日
編集済み: Matz Johansson Bergström 2014 年 8 月 9 日
I believe you are looking for
truesize(gcf, [1000 1000])
  2 件のコメント
Image Analyst
Image Analyst 2014 年 8 月 9 日
That's fine if your figure only has one axes in it that takes up the whole figure. But what if you have 2 or 3 images on a figure. How do you set up one of them to be unit magnification?
bigImage = imread('concordorthophoto.png');
[rows, columns, numberOfColorChannels] = size(bigImage);
% First create some figure.
figure;
% Now create an axes in the upper left:
hAxes = subplot(2, 2, 1);
% Display the image in that axes
imshow(bigImage, 'InitialMagnification','fit')
cla reset;
imshow(bigImage, 'InitialMagnification', 100); % Doesn't work either
% Resize image to show image at its rows-by-column pixel size,
% one image pixel equals one screen pixel.
% Since the image is bigger than the axes, it should add scrollbars.
truesize(hAxes, [rows, columns])
Anna
Anna 2014 年 8 月 18 日
I entered the following commands:
V = zeros(100); image(V); truesize(gcf, [100 100])
The resolution (in pixels/cm) of my screen is 51.6 pixels per cm. This means that the image of the array should be 100/51.6 = 1.94 cm wide, if each element is actually corresponding to one pixel. However, the image was 2.9cm wide. Any suggestions for how I can create an image of a matrix such that each element is exactly one pixel, as I still haven't managed to do this?
(I calculated the resolution (51.6 pixels per cm) using physical measurements of the screen, and the fact that it is 1600 by 900 pixels. I also tried this, http://www.mathworks.com/matlabcentral/answers/100792-in-matlab-how-do-i-obtain-information-about-my-screen-resolution-and-screen-size , after changing "inches" to "centimeters", but the values for screensize were wrong, both in cm and pixels, and the resolution was given as 37.8 in both directions, which doesn't agree with my calculation.).

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by