couldn't find what's wrong

5 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2015-6-6
dec2bin returns '1' not 1.'1' is char(49)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by