2

次のようなランダム カラー ブロックのマトリックス (ランダム カラーの 10 x 10 ピクセル ブロック) を生成したいと思います。

http://i.stack.imgur.com/Jlc8L.png

これまでのところ、乱数を生成し、行列をkron次のように拡大しました。

http://i.stack.imgur.com/eBU0T.png

使用:

I = kron(randn([10 10]), ones(10));
imshow(I);

これにランダムな色を追加したいのですが、

I = kron(randn([10 10 3]), ones(10));

レポート:

error: invalid conversion of NDArray to Matrix

ランダムなカラー ブロックのマトリックスを生成するにはどうすればよいですか?

これは Psychtoolbox-3 で使用するためのものです (補間なしDrawTextureで 10x10 のランダム カラー マトリックスを 100x100 に拡大できないようです)。

4

3 に答える 3

2

マトリックスを直接生成することもできます。

    R = rand(10,10,3);
    figure;imshow(R);

ブロック行列を作成するには、次を使用しますimresize

    Rb = imresize(R,10,'nearest');
于 2012-06-15T07:52:40.920 に答える
0

適切な解決策は、特定のテクスチャの補間アルゴリズムを切り替えることです。

舞台裏 Psychtoolbox は OpenGL を使用します。これにより、 と の間で生の OpenGL コマンドをいじることができMakeTextureますDrawTexture

大まかに、記憶から。「空欄」を埋める

Screen('MakeTexture')
Screen('GetOpenGLTexture')
glTexParameterfv(target,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
Screen('DrawTexture')
于 2012-07-01T11:33:07.743 に答える
0

これは、役立つ場合に備えて、私が通常同様のことを行う方法です。

R = rand(10,10);
subplot(1,1,1)
imshow(mat2gray(R(:,:,1)));
colormap jet

カラーマップをMatlabのプリセットまたは独自のプリセットに変更して、マトリックスの値を反映できる場所。

于 2012-06-15T05:02:44.130 に答える