selecting an image from folder

6 vues (au cours des 30 derniers jours)
kash
kash le 22 Déc 2011
I have 30 images in a folder,I have to select only21st image from it,please help,i tried this code but only first image is shown
I have 30 images in folder named photos
path='D:\photos\';
files=dir(strcat(path,'*.jpg'))
for k=1:numel(files(21))%numel(files)
file_name=files(k).name;
image_name=strcat(path,file_name);
I=imread(image_name);
figure,imshow(I)
end
  2 commentaires
kash
kash le 29 Déc 2011
chandra can u tell how to select 1st,6tf,11th,16th,21st,26th images and storing them in folder
Image Analyst
Image Analyst le 29 Déc 2011
Look up the mod() function to take every 5th one.

Connectez-vous pour commenter.

Réponse acceptée

Chandra Kurniawan
Chandra Kurniawan le 22 Déc 2011
path='D:\photos\';
jpeg_files = dir(fullfile(path,'*.jpg'));
for cnt = 1 : 21
I{cnt} = imread(fullfile(path,jpeg_files(cnt).name));
figure,imshow(I{cnt});
end
  12 commentaires
Chandra Kurniawan
Chandra Kurniawan le 22 Déc 2011
Can you show me about 'feature vector of query image' and 'feature vector that you saved in your .MAT file?
kash
kash le 22 Déc 2011
Feature vector is [1x359double]od 1row and 80 colomns
have i have to extract same feature vector for query image and store in .mat file for retrieving the image

Connectez-vous pour commenter.

Plus de réponses (1)

Chandra Kurniawan
Chandra Kurniawan le 22 Déc 2011
Then you just need to pass your feature vector 1x80 and
feature vector of query image in
suppose that dataset1 is feature vector 1x80
dataset2 is feature vector of query image
function D = DistEuclidian(dataset1, dataset2)
[m1 n1] = size(dataset1);
[m2 n2] = size(dataset2);
D = zeros(m1, m2);
for i = 1 : m1
for j = 1 : m2
D(i, j) = sqrt((dataset1(i, 1) - dataset2(j, 1)) ^ 2 + ...
(dataset1(i, 2) - dataset2(j, 2)) ^ 2);
end
end
And you'll get the Distance matrix.
Then make a limit. If all values in Distance matrix lower than your limit,
We can say that your query image is match with feature vector 1x80
  7 commentaires
kash
kash le 28 Déc 2011
i have dataset of 80 numbers=[1:1:80]
now i want to take first 8 values ,multiply each value by 2 and divide each by 2,so i will have 8 values each for multiplication and division,and then want to find average for that multilaction values and division values,same way i eant to perform for those 80 values from 1st 8,2nd 8,3rd 8........10th8 please help
Image Analyst
Image Analyst le 28 Déc 2011
Did you try
% Multiply by 2 and divide by 2, for some weird reason.
newVector = (2*data80) / (2*data80); % Not sure of the point.
% Get running average.
output = conv(newVector, ones(1,8)/8, 'valid');

Connectez-vous pour commenter.

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by