Error using imagesci\private\readjpg Too many input arguments.

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)

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

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

Accedi per commentare.

Categorie

Scopri di più su Images in Centro assistenza e File Exchange

Richiesto:

il 14 Feb 2018

Commentato:

il 15 Feb 2018

Community Treasure Hunt

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

Start Hunting!

Translated by