3 views (last 30 days)

Show older comments

clc;

A=imread('C:\Users\hp\Desktop\matlab\pictures\lenna.png');%sample image

rnd_x = randperm(size(A,1)-128,7);%choose 7 random unique points on x-axis

rnd_y = randperm(size(A,2)-128,7);%choose 7 random unique points on y-axis

image(A)

for ii = 1:4

for jj = 5:7

piece{jj} = A((rnd_x(jj):(rnd_x(jj)+127)),(rnd_y(jj):(rnd_y(jj)+127)),1:3)+1;

A((rnd_x(jj):(rnd_x(jj)+127)),(rnd_y(jj):(rnd_y(jj)+127)),1:3)= piece{jj}; % add the changed pixel values to the original image A

a=imadjust(jj);

end

piece{ii} = A((rnd_x(ii):(rnd_x(ii)+127)),(rnd_y(ii):(rnd_y(ii)+127)),1:3)-1;%Convert chosen numbers to image pieces

A((rnd_x(ii):(rnd_x(ii)+127)),(rnd_y(ii):(rnd_y(ii)+127)),1:3)= piece{ii}; % add the changed pixel values to the original image A

b=imadjust(ii);

end

imshow(A)

The above is my coding running good but it give me the following error."Error using randperm K must be less than or equal to N.

Error in file (line 3)

rnd_x = randperm(size(A,1)-128,6000);%choose 7 random unique points on x-axis"

when I want to choose 6000 or 4000 random unique points on x-axis or y-axis in the place of 7 like the following code:

clc;

A=imread('C:\Users\hp\Desktop\matlab\pictures\lenna.png');%sample image

rnd_x = randperm(size(A,1)-128,6000);%choose 7 random unique points on x-axis

rnd_y = randperm(size(A,2)-128,6000);%choose 7 random unique points on y-axis

image(A)

for ii = 1:3000

for jj = 3001:6000

piece{jj} = A((rnd_x(jj):(rnd_x(jj)+127)),(rnd_y(jj):(rnd_y(jj)+127)),1:3000)+1;

A((rnd_x(jj):(rnd_x(jj)+127)),(rnd_y(jj):(rnd_y(jj)+127)),1:3000)= piece{jj}; % add the changed pixel values to the original image A

a=imadjust(jj);

end

piece{ii} = A((rnd_x(ii):(rnd_x(ii)+127)),(rnd_y(ii):(rnd_y(ii)+127)),1:3000)-1;%Convert chosen numbers to image pieces

A((rnd_x(ii):(rnd_x(ii)+127)),(rnd_y(ii):(rnd_y(ii)+127)),1:3000)= piece{ii}; % add the changed pixel values to the original image A

b=imadjust(ii);

end

imshow(A)

I actually need help in the number of times n of the patchwork increase from 7 up to 6000.

Rik
on 29 Aug 2021

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

Start Hunting!