Clear Filters
Clear Filters

write this code in matlab

1 view (last 30 days)
faraz.a
faraz.a on 28 May 2013
step 1 read the image
then write it in a 2-d array(matrix)
assign i=1 and j=1 (1=rows, j= columns)
assign A(i,j)=X (this is array)
A(i,j-1)=A
A(i-1,j)=B
now give context=AB (which should be 00,01,10,11 any one of them)
if {
context=00
{
if
X=0
{ c0(00)=1+c0(00) }
else if X=1
{ c1(00)=1+c1(00) (at start c1(00) c0(00) all are equal to zero) }
cont(00)=1+cont(00)
}
else if context=01
{ if x= 0
{
c0(01)=1+c0(01)
}
else if X=1
{
c1(01)=1+c1(01)
}
cont(01)=1+cont(01)
}
else if context=10
{
if X=0
{
c0(10)=1+c0(10)
} else if X=1
{
c1(10)=1+c1(10)
}
cont(10)=1+cont(10)
}
else if context=11
{
if X=0 { c0(11)=1+c0(11)
}
else if X=1
{
c1(11)=1+c(11)
}
cont(11)=1+cont(11)
}
if j<256 (size of the image is 256*256 then we should take 256)
{
j=j+1
}
else if j=256
{ i=i+1
} if i=256 && j=256 (both should 256)
end
else go to
{
assign A(i,j)=X (it should go back to this)
} then i have to find out some float values when displaying this it should c0me steady state probabilities p(00)=cont(00)/(total number of counts i think it will be the size of the matrix 256*256)
p(01)=cont(01)/(256*256)
p(10)=count(10)/(256*256)
p(11)=count(11)/(256*256) }
now display these all the below conditional probabilities p0(00)=c0(00)/cont(00)
p1(00)=c1(00)/cont(00)
p0(01)=c0(01)/cont(01)
p1(01)=c1(01)/cont(01)
p0(10)=c0(10)/cont(10)
p1(10)=c1(10)/cont(10)
p0(11)=c0(11)/cont(11)
p1(11)=c1(11)/cont(11)
similarly all the values then h(00)=p0(00)logbase2(1/p0(00)) +p1(00)logebase2(1/(p1(00)
h(01)=p0(01)logbase2(1/p0(01)) +p1(01)logebase2(1/(p1(01)
so onll ti h(11) can we write h(00)= h(AB)?? these 00,01,10,11 are actually AB it is very hard how to write all and display all these assign h(s) entropy= p(AB)H(AB) end the way i wrote in my notes p(00)h(00)+p(01)h(01)+p(10)h(10)+p(11)h(11) display all these values }
  3 Comments
Jan
Jan on 28 May 2013
Do you have a specific question or do you assume that we solve the complete problem for you?
faraz.a
faraz.a on 28 May 2013
i know you will not solve i just have questions in between the code i mentioned in comments. new in matlab dont know anything about it so trying to solve step by step

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 28 May 2013
Indexes have to be integers like 1, 2, 3, etc. (or logical true/false) - you can't have an index of 00. You'll have to figure that out. And, MATLAB code doesn't use { to start a block, and it uses "end" instead of } to finish a block. Comments begin with a % symbol. I, for one, don't have time to fix your code or translate it into MATLAB code for you. Good luck.
  6 Comments
faraz.a
faraz.a on 28 May 2013
okay
d=imread("coin.tif")
size(d)
fid = fopen('coin.tif','rb'); opens the file
M = fread(fid, [rows columns], 'int16')
M = reshape(M,[r c]);
disp(M)
i00=1
i01=2
i10=3
i11=4
c0(i00)=0,c1(i00)=0,c0(i01)=0,c1(i01)=0,c0(i10)=0,c1(i10)=0,c0(i11)=0,c1(i11)=0 %can i define it this way?
i=1 and j=1 % i=rows, j= columns
for i from 1 to 256 do %(i hope it increments every time)
for j from 1 to 256 do
M(i,j)=X
M(i,j-1)=A
M(i-1,j)=B
if A==0 && B==0
if X=0
c0(i00)=1+c0(i00)
end % do i need to write end over here?
else if X=1
c1(i00)=1+c1(i00)
end
cont(i00)=1+cont(i00)
end
else if A==0 && B==1
if x= 0
c0(i01)=1+c0(i01)
end
else if X=1
c1(i01)=1+c1(i01)
end
cont(i01)=1+cont(i01)
end
else if A==1 && B==0
if X=0
c0(i10)=1+c0(i10)
end
else if X=1
c1(i10)=1+c1(i10)
end
cont(i10)=1+cont(i10)
end
else if A==1 && B==1
if X=0
c0(i11)=1+c0(i11)
end
else if X=1
c1(i11)=1+c(i11)
end
cont(i11)=1+cont(i11)
end
cont=1+cont
end_for
end_for
c0me steady state probabilities
p(i00)= mod(cont(i00),cont)
p(i01)= mod(cont(i01),cont)
p(i10)= mod(cont(i10),cont)
p(i11)= mod(cont(i11),cont)
now display these all the below conditional probabilities p0(i00)=mod(c0(i00),cont(i00))
p1(i00)= mod(c1(i00),cont(i00))
p0(i01)= mod(c0(i01),cont(i01))
p1(i01)= mod(c1(i01),cont(i01))
p0(i10)= mod(c0(i10),cont(i10))
p1(i10)= mod(c1(i10),cont(i10))
p0(i11)= mod(c0(i11),cont(i11))
p1(i11)= mod(c1(i11),cont(i11))
h(i00)= -p0(i00)log2(p0(i00))- p1(i00)log2(p1(i00))
h = p(i00)*h(i00)+p(i01)*h(i01)+p(i10)*h(i10)+p(i11)*h(i11)
end
now will this display all the values or i need to write something to display?
is this the way i need to write in matlab?
faraz.a
faraz.a on 28 May 2013
i will execute and ask if i get errors thank you so much for your guidance sir

Sign in to comment.

Categories

Find more on Data Import and Export in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!