Error using imagesci\private\readjpg Too many input arguments.
Mostra commenti meno recenti
Hi all what erorr in this code ?
function hide_image(src_img,varargin)
% Hide Image : This code hides image(s) inside one larger image.
%
% Syntax: hide_image(source_image_file_name,images_filenames_to_be_hidden)
%
% Examples:
%
% >> hide_image('pano.jpg','map1.bmp','faces.bmp');
% Used 74.3117 percent of the source image. Embedded Image saved as : 'embedded.png' in the current directory.
%
% >> hide_image('pano.jpg','map1.bmp','faces.bmp','house.jpg');
% Used 93.7543 percent of the source image. Embedded Image saved as : 'embedded.png' in the current directory.
%
% Error will be reported with stats:
% >> hide_image('pano.jpg','map1.bmp','faces.bmp','house.jpg','carey.jpg');
% ??? Error using ==> hide_image at ..
% Too Many Images or Too Big Image for Hiding [Used 105.9668 percent of the source image].
% So, keep the usage of the source image within 100 percent for sucessful operation.
%---------- Inputs---------------------------------------------------------
num_of_images=nargin-1;
all_images=[];
image1props=[];
szim=zeros(num_of_images,3);
check_limit=0;
for i=1:num_of_images
b=double(imread(char(varargin(i))));
szim(i,1)=size(b,1);szim(i,2)=size(b,2);szim(i,3)=size(b,3);
check_limit=check_limit+size(b,1)*size(b,2)*size(b,3);
all_images=[all_images reshape(b,1,size(b,1)*size(b,2)*size(b,3))];
end
for i=1:num_of_images
image1props=[image1props reshape([floor(szim(i,3)/3) binary_vector(szim(i,1))' zeros(1,15-length(binary_vector(szim(i,1)))) binary_vector(szim(i,2))' zeros(1,16-length(binary_vector(szim(i,2))))],8,4)];
end
next=4*num_of_images+1;
%--------------------------------------------------------------------------
a=double(imread('pano.jpg','map1.bmp','faces.bmp'));
percent_of_img_used=(100*8*(check_limit+4*num_of_images+1))/(size(a,1)*size(a,2)*size(a,3));
if percent_of_img_used >100
display_text=['Too Many Images or Too Big Image for Hiding [Used ' num2str(percent_of_img_used) ' percent of the source image].'];
error(display_text);
end
display_text = ['Used ' num2str(percent_of_img_used) ' percent of the source image. Embedded Image saved as : ''embedded.png'' in the current directory.'];
disp(display_text);
a2=[reshape(a,1,size(a,1)*size(a,2)*size(a,3)) zeros(1,8-rem(size(a,1)*size(a,2)*size(a,3),8))];
a11=2.*floor(reshape(a2,8,length(a2)/8)/2);
a11(:,1)=a11(:,1) + binary_vector(num_of_images);
a11(:,2:next)=a11(:,2:next) + image1props;
for j=1:num_of_images
b1=all_images(next-4*num_of_images:next-4*num_of_images-1+szim(j,1)*szim(j,2)*szim(j,3));
for i=1:length(b1)
a11(:,i+next)=a11(:,i+next)+ binary_vector(b1(i));
end
next=next+szim(j,1)*szim(j,2)*szim(j,3);
end
a111=reshape(a11,1,size(a11,1)*size(a11,2)*size(a11,3));
a111=a111(1:end-(8-rem(size(a,1)*size(a,2)*size(a,3),8)));
a22=reshape(a111,size(a,1),size(a,2),size(a,3));
imwrite(uint8(a22),'embedded.png');
%--------------------------------------------------------------------------
function out = binary_vector(in)
% This code converts unsigned integer number into Binary vector.
% It is used in this project for conversion into binary numbers of 8-bit unsigned pixel values,
% row, column and color information and also the number of images.
%
% Syntax:
% binary_vector(unsigned_integer_number)
%
% Example:
%
% >> binary_vector(234)
%
% ans =
%
% 0
% 1
% 0
% 1
% 0
% 1
% 1
% 1
out=zeros(8,1);
if ~in
return;
else
while(1)
out(floor(log2(in))+1)=1;
in= in - power(2,floor(log2(in)));
if ~in
break;end
end
end
end
end
Risposte (1)
Walter Roberson
il 15 Feb 2018
You have
a=double(imread('pano.jpg','map1.bmp','faces.bmp'));
It is not possible to read multiple different files with the same imread() call.
(There are some file formats for which it is permitted to read multiple images that are stored in the same file.)
2 Commenti
ammar rashad
il 15 Feb 2018
Walter Roberson
il 15 Feb 2018
a=double(imread('pano.jpg','map1.bmp','faces.bmp'));
Tries to read three images at the same time. That is not permitted.
The code tries to find the size of rows and columns of the three images, but you already read the images and got their size
Categorie
Scopri di più su Images in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!