Hi, i have problem on running this code due to some error. The only output is the displaying of 'original image'. Hopefully, you guys can help me fix it. Thank you so much.
error: Error in Wprocess (line 18) H1=rgb2gray(I2); %convert it into gray scale image
x=.01; t=cputime; I1=imread('lena.jpg');%read image % I1=imread('mand.jpg');%read image H=rgb2gray(I1); %convert it into gray scale image J=imresize(H,[512 512]);%resize image into 512x512 image J= double(J); [M,N]=size(J); figure,imshow(uint8 (J));title('Original image') [Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('haar'); [ca,ch,cv,cd] = dwt2(J,Lo_D,Hi_D); [ca1,ch1,cv1,cd1] = dwt2(ch,Lo_D,Hi_D); [U,S,V] = svd(ch1); [m,n]=size(S); % Copy the original Singular value Sw=S; I2=imread('cameraman.jpg');%read Watermark image H1=rgb2gray(I2); %convert it into gray scale image J1=imresize(H1,[128 128]);%resize image [a,b]=size(ch1); W1= double(J1); W1=imresize(W1,[a b]);% resize the 1 watermark image [p,q]=size(W1); % Watermark insertion S=S+(x*W1); [U_w,S_w,V_w]=svd(S); [cs1]=[U*S_w*V']; wing = idwt2(ca1,cs1,cv1,cd1,Lo_R,Hi_R); wing1 = idwt2(ca,wing,cv,cd,Lo_R,Hi_R); t1=cputime; figure,imshow(uint8(wing1)),title('Watermarked Image')
It seems like you're encountering an issue with the function rgb2gray
. The error message suggests that there might be something wrong with the input image I2
. Here are a few steps to troubleshoot and fix this error:
Check if I2
is Defined: Ensure that the variable I2
is properly defined and holds an RGB image before you call rgb2gray
.
Verify the Image Type: Ensure that I2
is indeed an RGB image. The rgb2gray
function expects an input image of type uint8
, uint16
, or double
with three color channels.
Display and Inspect I2
: Use the imshow
function to display the image and inspect its properties.
Here's an example of how you can modify your code:
% Load or capture the image into variable I2
I2 = imread('your_image_file.jpg'); % or any method to load the image
% Display the original image
figure;
imshow(I2);
title('Original Image');
% Check the properties of the image
disp('Image properties:');
disp(size(I2)); % Display the size of the image
disp(class(I2)); % Display the class type of the image
% Convert the image to grayscale
H1 = rgb2gray(I2);
% Display the grayscale image
figure;
imshow(H1);
title('Grayscale Image');
Load or Capture the Image: Ensure you load the image into I2
. You can replace 'your_image_file.jpg'
with the actual filename or use another method to capture the image.
Display the Original Image: Use imshow
to display the original image and verify that it is correctly loaded.
Inspect the Image Properties: Use disp
to print the size and class type of the image to verify that it is an RGB image.
Convert to Grayscale: Use rgb2gray
to convert the RGB image to grayscale.
Display the Grayscale Image: Display the converted grayscale image using imshow
.
Matlabsolutions.com provides guaranteed satisfaction with a
commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain
experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support
to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been
empanelled after extensive research and quality check.
Matlabsolutions.com provides undivided attention to each Matlab
assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services
include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work
done at the best price in industry.