couldn't find what's wrong

1 view (last 30 days)
amira hl
amira hl on 6 Jun 2015
Edited: Walter Roberson on 6 Jun 2015
this is my code
clc; clear all; close all;
im=imread('images.jpg');
size(im);
fid=fopen('document.txt','r');
c = fread(fid, 'uint8=>char')';
bin=dec2bin(c);
a=size(bin,1)*size(bin,2);
b=1
delta=20
wi=bin(3)
f=im(3,3)
m=floor(f/((2^b)*delta))
r=f-(2^b)*m*delta
f1=(2^b)*m*delta+wi*delta+r/(2^b)
in execution
b =
1
delta =
20
wi =
1
f =
7
m =
0
r =
7
f1 =
255
the value of f1 should be 24
I think the problem is in saving wi=bin(3) value in matlab because when I put wi=1; manually in my code it gives me 24 but my main code involves a loop and every time wi will take a new value from bin table
why is f1=255??
thank you

Accepted Answer

Walter Roberson
Walter Roberson on 6 Jun 2015
dec2bin returns '1' not 1.'1' is char(49)
  1 Comment
amira hl
amira hl on 6 Jun 2015
thank you Walter Roberson

Sign in to comment.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!