how to set threshold value for comparing images in matlab?
3 ビュー (過去 30 日間)
古いコメントを表示
how do I compare one image for example Z with multiple images in a folder and find out the one which matches closely to the image Z.
0 件のコメント
回答 (2 件)
Image Analyst
2015 年 2 月 15 日
You develop an algorithm. That's about all I can say, given the (lack of) information you've provided. Please read this and provide more info.
4 件のコメント
Image Analyst
2015 年 2 月 16 日
Not that I'm aware of. You might be able to use a twain interface or java robot but I can't help you there.
Pranav Shukla
2023 年 3 月 28 日
編集済み: DGM
2023 年 3 月 28 日
close all;
clc;
path='C:\Users\Vinayak Shukla\Documents\MATLAB\MATLAB PROJECTS\MASTER THESIS FOLDER 2023\happy15_encrpted4.bmp';
list=dir([path, '*.jpg']);
img=imread('C:\Users\Vinayak Shukla\Documents\MATLAB\MATLAB PROJECTS\MASTER THESIS FOLDER 2023\happy15_encrpted4.bmp');
%image to compare with X1=rgb2ind(img,16);
forx=1:length(list);
images{x}=imread([path, list(x).name]);
X2=rgb2ind(images{x},16);
c=corr2(X1,X2);
figure(x);
subplot(1,2,1),imshow(images{x}), xlabel(['Image ',num2str(x)]);
subplot(1,2,2),imshow(img);
if c==1
xlabel('The images are same.');
else
xlabel('The images are not same');
end
This is the error i am getting
Unrecognized function or variable 'x'.
Error in pranav17 (line 8)
images{x}=imread([path, list(x).name]);
6 件のコメント
Pranav Shukla
2023 年 3 月 30 日
編集済み: DGM
2023 年 3 月 30 日
basepath = fullfile(matlabroot,'toolbox/images/imdata');
filenameexpr = '(C:\Users\Vinayak Shukla\Documents\MATLAB\MATLAB PROJECTS\MASTER THESIS FOLDER 2023\happy15_encrpted4.bmp)';
matchingfiles = dir(fullfile(basepath,filenameexpr));
Xref = imread(fullfile(matchingfiles().folder,matchingfiles().name));
numimages = numel(matchingfiles);
imagestack = cell(numimages,1); % preallocate
for k = 1:numimages
thispath = fullfile(matchingfiles(k).folder,matchingfiles(k).name);
Xtest = imread(thispath);
% store it if necessary
% if you don't need to keep them for later, don't bother
imagestack{k} = Xtest;
% test it somehow (corr2, immse, isequal)
c = immse(Xref,Xtest); % mean-square error
% generate a pile of figures
figure(k);
subplot(1,2,1),imshow(Xtest), xlabel(['Image ',num2str(k)]);
subplot(1,2,2),imshow(Xref);
if c==0 % if error is zero
xlabel('The images are same.');
else
xlabel('The images are not same');
end
end
>> pranav17
Error using fullfile
Not enough input arguments.
Error in pranav17 (line 26)
Xref = imread(fullfile(matchingfiles().folder,matchingfiles().name));
could some please rewrite the whole code again in a simplified manner, and post it here.
the code should be how to compare the threshold value of two images?
please help me out.
Image Analyst
2023 年 3 月 30 日
You have to give it an index of course. Is the reference your first image? If so,
Xref = imread(fullfile(matchingfiles(1).folder,matchingfiles(1).name));

参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!