У меня серое изображение размером 400 x 600. И я хочу выбрать случайно с этого изображения, патч размером 50 х 50.Выберите случайный патч из изображения с помощью matlab
Кстати, я попытался написать код для этого, и он отлично работал. Но согласно моему коду ниже, есть еще одно решение? Другими словами, есть ли другой код, который может быть более сексуальным, чем мой собственный код?
clear all;
close all;
clc;
image=imread('my_image.jpg');
image_gray=rgb2gray(image);
[n m]= size(image_gray); % 400 x600
L=50;
x=round(rand(1)*n); % generate a random integer between 1 and 400
y=round(rand(1)*m); % generate a random integer between 1 and 600
%verify if x is > than 400-50 , because if x is equal to 380 for example, so x+50 become %equal to 430, it exceeds the matrix dimension of image...
if(x<=n-L)
a=x:x+(L-1);
else
a=x-(L-1):x;
end
if(y<=m-L)
b=y:y+(L-1);
else
b=y-(L-1):y;
end
crop=image_gray(a,b);
figure(1);
imshow(crop);
Вы хотите, чтобы ваш код был более «сексуальным» ??? Я программировал с помощью Matlab довольно долгое время, и я никогда не сталкивался с «сексуальным» кодом ... Я настоятельно рекомендую вам найти себя «значительным другим» и провести некоторое время далеко от компиляторов и экранов. – Shai
desolee, я отредактировал мой вопрос – Christina
@Чристина Почему? Так было смешно. И теперь исходное предложение в моем ответе выглядит глупо :-) –