Percentage difference between images: Difference between revisions

m (→‎{{header|REBOL}}: Remove vanity tags)
Line 1,071:
Printf.printf " diff: %f percent\n" diff_percent;
;;</lang>
 
=={{header|Phix}}==
<lang Phix>-- demo\rosetta\Percentage_difference_between_images.exw
include ppm.e
 
function split_colour(integer c)
return sq_div(sq_and_bits(c, {#FF0000,#FF00,#FF}),
{#010000,#0100,#01})
end function
 
function percentage_diff(sequence img1, img2)
if length(img1)!=length(img2)
or length(img1[1])!=length(img2[1]) then
return "sizes do not match"
end if
atom diff = 0
for i=1 to length(img1) do
for j=1 to length(img1[i]) do
integer {r1,g1,b1} = split_colour(img1[i,j]),
{r2,g2,b2} = split_colour(img2[i,j])
diff += abs(r1-r2)+abs(g1-g2)+abs(b1-b2)
end for
end for
return 100*diff/(length(img1)*length(img1[1]))/3/255
end function
 
sequence img1 = read_ppm("Lenna50.ppm"),
img2 = read_ppm("Lenna100.ppm")
?percentage_diff(img1,img2)</lang>
{{out}}
<pre>
1.625593098
</pre>
 
=={{header|PicoLisp}}==
Line 1,089 ⟶ 1,122:
Output:
<pre>Difference is 1.6256 percent</pre>
 
=={{header|PureBasic}}==
This program downloads both jpg files, decodes them & saves them in 2D-arrays for simple comparison which part is comparable with the other languages.
7,794

edits