Error: Matrix dimensions must agree. How to solve?

This is my code for a uniform quantizer and I am getting an error for equation ''y''. %Project 2 %Quantization
clc;
close all;
org_image=imread('C:\Users\Aishwarya Kumar\Desktop\lena512.bmp');
subplot(2,2,1);
imshow(imread('lena512.bmp'));
title('Original Image');
org_image=double(org_image);
for x=5:7
level= 2^x;
lev1=256/(level);
[tk,rk]=tk_rk(lev1,level);
%Quantization
for i=1:256
for j=1:256
for k=1:1:(level)
if org_image(i,j)<tk(k+1) && org_image(i,j)>=tk(k)
recon_image(i,j)=rk(k);
end
end
end
end
recon_image=double(recon_image);
y=double(org_image-recon_image);
%MSE Calculation
MSE=sum(sum(power(y,2)))/(256^2);
%PSNR Calculation
PSNR=10*log10((255^2)/MSE);
recon_image=uint8(recon_image);
subplot(2,2,x-3);
imshow(recon_image);
title([num2str(level),' Levels Quantized Image']);
end
%Function definition
function[tk,rk]=tk_rk(level,lev1)
tk(1)=0;
for a=2:1:(lev1+1)
tk(a)=tk(a-1)+level;
end
for a=1:1:(lev1)
rk(a)=tk(a)+level/2;
end
end

3 commentaires

KSSV
KSSV le 16 Fév 2018
Attach your image...or give the dimensions of it...
the dimensions of org_image is 512x512 but recon_image is 256x256
This line:
y=double(org_image-recon_image);
Your org_image is 512*512 and recon_image is 256*256. How you think you can subtract them?

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by