On Mon Mar 13, 2006, Ian Wood revlist at azurevision.co.uk wrote:
(snip)
A handler that goes through each RGB pixel and reduce it to a
grayscale value for use as alphaData was pretty easy, but for a
200x200px image that's 40,000 repeats, and takes minutes on a G5.
on maskStuff
put the seconds into tStart
put "" into tMaskData
put the imageData of img "mask" into tImgData
put number of chars of tImgData / 4 & return into fld "status"
lock screen
repeat with x = 1 to ((number of chars of tImgData) / 4)
if the mouse is down then exit to top
put charToNum(char (x*4)-2 of tImgData) into tR
put charToNum(char (x*4)-1 of tImgData) into tG
put charToNum(char (x*4) of tImgData) into tB
put the round of ((tR + tG + tB)/3) into tM
put numToChar(tM) after tMaskData
--put tM & return after fld "status"
end repeat
(snip)
Any ideas for a faster way? Cross-platform command-line tools?
Ian Wood
Panoramic photography, from web to billboard, sunrise to moonrise
http://www.landmarksofbritain.co.uk
Hi Ian,
I modified your script to the solution below, i.e. I took the script of
my "gray-scale" button of my ImageData Toolkit and adapted it to your needs.
The script is for a 640 X 480 image, meaning that more than about one
million of chars have to be processed (640 * 480 * 3)
Running the script takes *one* second on my Windows XP computer (2 GHz):
on mouseUp
set the cursor to watch
put the milliseconds into Start
put the imageData of image 2 into iData
put empty into tmaskdata
put 2560 into re # i.e. 640 * 4
repeat with i = 0 to 479
repeat with j = 0 to 639
put chartonum(char (i*re + (j*4+2)) of idata) into tC1
put chartonum(char (i*re + (j*4+3)) of idata) into tC2
put chartonum(char (i*re + (j*4+4)) of idata) into tC3
put the round of ((tc1 + tc2 + tc3)/3) into tM
put numToChar(tM) after tMaskData
end repeat
end repeat
put the milliseconds - Start into fld "test"
end mouseUp
Best regards,
Wilhelm Sanke
<http://www.sanke.org/MetaMedia>
<http://www.sanke.org/ImageDataArt>
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution