Percentage difference between images: Difference between revisions
Percentage difference between images (view source)
Revision as of 11:50, 28 September 2018
, 5 years ago→{{header|Phix}}
Thundergnat (talk | contribs) 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.
|